問題タブ [sqlite3-ruby]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - ruby on rails Activerecord経由でデータベースに挿入されたフィールドのフォーマットを指示する方法はありますか?
ActiveRecord を介して sqlite3 データベースにいくつかの文字列 (日付のように見える) を挿入していますが、データベースはフィールドを変更して日付のように見せています。例えば:
これを防ぐルビ文字列関数を探しましたが、何も思いつきませんでした。
他の誰かがこのようなことに遭遇したことがありますか?また、回避策や修正を知っていますか?
ruby - Ruby SQLite Insert の文字列のエスケープ
約15万行のタブ区切りのテキストファイルをSQLiteにインポートするRubyスクリプトを作成しています。ここまでです:
私の方法gsub
で一重引用符をエスケープするにもかかわらず、スクリプトは一重引用符を含む最初の行でエラーになります。prepare_for_insert
15 行目でエラーが発生しています。その行を で検査するとputs string[14]
、「s」の近くでエラーが表示されている場所がわかります。次のようになります。'Touch the Top of the World: A Blind Man\'s Journey to Climb Farther Than the Eye Can See'
一重引用符がエスケープされているように見えますが、それでもエラーが発生するのはなぜですか?
ruby - 自然キーのない一意のレコードを選択する
たとえば、 table names
:id integer primary key, name text unique
と の一意のインデックスがありnames(name)
ます。
インデックス スタイルの構文でレコードを選択したい:(n12, nBill) = (Name[12], Name['Bill'])
または with Name.get['Smitt']
.
ドキュメントが言うように、「自然キー」で実行できますが、SQLite でそれらを作成するにはどうすればよいですか?
更新:
@Frost: Spotlight on... Composite Keysが言うように、複合キーを持つレコードは両方のキーで呼び出す必要があります:
Name.get(1, 'Smitt')
、それは私にとって間違っています。任意のキー でレコードを選択するものが必要です:
Name[1] == Name['Smitt']
.
ruby - SQLite3::Database および SQLite3::Statement の初期化メソッドはどこにありますか
私は経験豊富なプログラマーで、Ruby を学んでいます (そしてとても気に入っています)。SQLite3 を使用してデータベースのセットアップに取り組んでいます。Ruby をよりよく学ぶために、SQLite3 にトレースしています。私が理解していないのは、Database クラスと Statement クラスの #new のコードがどこにあるのかということです。実際には、#new メソッドではなく、#initialize メソッドを期待しています。
上記の 2 つのステートメントは、ドキュメントからのものです。しかし、これをトレースしようとすると、私のコードでは
踏み越えるだけです。
その後、トレースしようとすると
Database.rb ファイルの #execute メソッドに入りますが、#prepare メソッドを呼び出してステップインしようとします。
しかし、再び運がありません。それをまたぐだけです。
ソース コードを調べたり、検索を行ったりしましたが、呼び出されている初期化メソッドが見つかりません。彼らはどこにいる ?
この質問を検討していただきありがとうございます。
ruby-on-rails - gem sqlite3 のインストール中にエラーが発生しました - centos5.6
ruby on rails 用の sqlite3 gem をインストールしようとしていますが、このエラーが発生しています... yum 経由で sqlite3 を既に正常にインストールしています。
ruby-on-rails - CapistranoRailsアプリSQLite3がデータベースを開くことができません
Capistranoを使用してRailsアプリをNGinx&Passengerを実行しているサーバーにデプロイすることができました。デプロイ時に、「申し訳ありませんが、問題が発生しました」というメッセージが表示され、本番ログが空白であるため、かなり混乱していました。次に、NGinx Confでに切り替えましたrails_env
。現在、次のようになっています。development
サーバーにログインし、(最新リリースへのシンボリックリンクであると思われる)current
フォルダーにログインして実行しましたが、dbファイルは存在します。アプリのフォルダー内を見ると、&の両方が表示されます。testcap
rake db:create
db
development.db
test.db
実行rails s -e production
してからmyurl.com:3000にアクセスすると、アプリは完全に正常に動作しますが、これは奇妙なことです。また、実行しても正常に動作しrails s -e development
ます。
ここで何が問題になるのか、私は完全に途方に暮れています。私はそれが潜在的にcapistranoで、比較的明白な問題であるに違いないと確信していますか?私はまだそれに慣れていないので、私は何かを逃した可能性がありますが、これまでのグーグルは無益でした。
私が考えることができる唯一のことは、私のデータベースに明示的に関連するものは何もないということconfig/deploy.rb
です。しかし、これまでのところ、ネット上で役立つガイドを見つけることができませんでした。
よろしくお願いします:)
ジャック。
ruby-on-rails - OSXでのSqliteデータベースの場所
Ruby on Rails 3を学んでいて、プロセスをより深く理解するために、Sqlite3のさまざまなScaffoldコマンドによって作成されたdb構造を確認したいと思います。
OSX Snow Leopardで、次のように入力します。
which sqlite3
収量:
"/ usr / local / bin / sqlite3"
しかし、データベースを見つけることができないようです!その場所を指すと、次のエラーメッセージが表示されるだけです。
接続に失敗しました。ファイルが暗号化されているか、データベースではありません
以下を使用してdbsimを表示するには:
誰かがdbsが実際にどこにあるか私に教えてくれますか?「/usr/ local / bin / sqlite3」は、/ usr / local / Cellar / sqlite / 3.7.10 / bin/sqlite3sへのシンボリックリンクのようです。
ubuntu - apt-get install libsqlite3-devで404エラーが発生するのはなぜですか?
bundlerを使用してsqlite3gemをインストールしようとしていますが、一般的なFailed to build native gem extensions
エラーが発生します。これを修正するために必要なファイルをインストールしようとしていますが、を使用してruby-devを正常にインストールしましapt-get install
たが、実行するapt-get install libsqlite3-dev
と次のエラーが発生します。
apt-get updateを実行しようとしましたが、再び多くの404 not found
エラーが発生しましたが、コマンドを実行し--fix-missing
ても何も起こりませんでした。
次に何をすべきかについて何か考えはありますか?
ruby-on-rails - Rails 3.2.4 SQLクエリはfind(:all)で結果をキャッシュしています
このシステムがデータをキャッシュしているかどうかはよくわかりませんが、キャッシュの特徴がいくつかあります。
基本的に、私は Rails 3.2.4 をいじっていて、システムが結果の一部を表示しなくなりました。これは私がコードモデルに入れたデフォルトのスコープによるものだと思いますが、それでもこれは 10 分の 9 ではなくすべての結果を表示するはずです。その記録。sqlite3 データベースをチェックして、データがそこに配置されているかどうかを確認し、すべての接続情報をチェックして、キャッシュがオフになっていることを確認します。ただし、モデル ファイルまたはコントローラー ファイルを変更して保存すると、データが表示されます。touchコマンドだけでうまくいくコードを変更することすらありません。スコープと関係があると思いますが、完全にはわかりません。私が見つけた解決策の 1 つは、Rails 3.2.2 に戻ることです。うまくいくようです。
開発.rb
house.rb
schema.rb
house_controller.rb
家/index.html.erb
あなたが見ることができるように、超クレイジーなものは何もありません。
ruby-on-rails - ActiveRecordのsaveメソッドでRailsエラーが発生しました
saveメソッドを呼び出すとこのエラーが見つかりました
My Rails Envi:Rails 3.2.5、sqlite 3.7.12(GemFile 1.3.6)、最新のActiveRecord
よろしくお願いします。