問題タブ [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.

0 投票する
1 に答える
48 参照

ruby - ruby on rails Activerecord経由でデータベースに挿入されたフィールドのフォーマットを指示する方法はありますか?

ActiveRecord を介して sqlite3 データベースにいくつかの文字列 (日付のように見える) を挿入していますが、データベースはフィールドを変更して日付のように見せています。例えば:

これを防ぐルビ文字列関数を探しましたが、何も思いつきませんでした。

他の誰かがこのようなことに遭遇したことがありますか?また、回避策や修正を知っていますか?

0 投票する
1 に答える
6932 参照

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'

一重引用符がエスケープされているように見えますが、それでもエラーが発生するのはなぜですか?

0 投票する
1 に答える
159 参照

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'].

0 投票する
1 に答える
691 参照

ruby - SQLite3::Database および SQLite3::Statement の初期化メソッドはどこにありますか

私は経験豊富なプログラマーで、Ruby を学んでいます (そしてとても気に入っています)。SQLite3 を使用してデータベースのセットアップに取り組んでいます。Ruby をよりよく学ぶために、SQLite3 にトレースしています。私が理解していないのは、Database クラスと Statement クラスの #new のコードがどこにあるのかということです。実際には、#new メソッドではなく、#initialize メソッドを期待しています。

上記の 2 つのステートメントは、ドキュメントからのものです。しかし、これをトレースしようとすると、私のコードでは

踏み越えるだけです。

その後、トレースしようとすると

Database.rb ファイルの #execute メソッドに入りますが、#prepare メソッドを呼び出してステップインしようとします。

しかし、再び運がありません。それをまたぐだけです。

ソース コードを調べたり、検索を行ったりしましたが、呼び出されている初期化メソッドが見つかりません。彼らはどこにいる ?

この質問を検討していただきありがとうございます。

0 投票する
1 に答える
602 参照

ruby-on-rails - gem sqlite3 のインストール中にエラーが発生しました - centos5.6

ruby on rails 用の sqlite3 gem をインストールしようとしていますが、このエラーが発生しています... yum 経由で sqlite3 を既に正常にインストールしています。

0 投票する
1 に答える
1469 参照

ruby-on-rails - CapistranoRailsアプリSQLite3がデータベースを開くことができません

Capistranoを使用してRailsアプリをNGinx&Passengerを実行しているサーバーにデプロイすることができました。デプロイ時に、「申し訳ありませんが、問題が発生しました」というメッセージが表示され、本番ログが空白であるため、かなり混乱していました。次に、NGinx Confでに切り替えましたrails_env 。現在、次のようになっています。development

サーバーにログインし、(最新リリースへのシンボリックリンクであると思われる)currentフォルダーにログインして実行しましたが、dbファイルは存在します。アプリのフォルダー内を見ると、&の両方が表示されます。testcaprake db:createdbdevelopment.dbtest.db

実行rails s -e productionしてからmyurl.com:3000にアクセスすると、アプリは完全に正常に動作しますが、これは奇妙なことです。また、実行しても正常に動作しrails s -e developmentます。

ここで何が問題になるのか、私は完全に途方に暮れています。私はそれが潜在的にcapistranoで、比較的明白な問題であるに違いないと確信していますか?私はまだそれに慣れていないので、私は何かを逃した可能性がありますが、これまでのグーグルは無益でした。

私が考えることができる唯一のことは、私のデータベースに明示的に関連するものは何もないということconfig/deploy.rbです。しかし、これまでのところ、ネット上で役立つガイドを見つけることができませんでした。

よろしくお願いします:)

ジャック。

0 投票する
1 に答える
2334 参照

ruby-on-rails - OSXでのSqliteデータベースの場所

Ruby on Rails 3を学んでいて、プロセスをより深く理解するために、Sqlite3のさまざまなScaffoldコマンドによって作成されたdb構造を確認したいと思います。

OSX Snow Leopardで、次のように入力します。

which sqlite3

収量:

"/ usr / local / bin / sqlite3"

しかし、データベースを見つけることができないようです!その場所を指すと、次のエラーメッセージが表示されるだけです。

接続に失敗しました。ファイルが暗号化されているか、データベースではありません

以下を使用してdbsimを表示するには:

SqliteのNavicat

誰かがdbsが実際にどこにあるか私に教えてくれますか?「/usr/ local / bin / sqlite3」は、/ usr / local / Cellar / sqlite / 3.7.10 / bin/sqlite3sへのシンボリックリンクのようです。

0 投票する
1 に答える
2736 参照

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ても何も起こりませんでした。

次に何をすべきかについて何か考えはありますか?

0 投票する
1 に答える
796 参照

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

あなたが見ることができるように、超クレイジーなものは何もありません。

0 投票する
1 に答える
452 参照

ruby-on-rails - ActiveRecordのsaveメソッドでRailsエラーが発生しました

ここに画像の説明を入力してください

saveメソッドを呼び出すとこのエラーが見つかりました

My Rails Envi:Rails 3.2.5、sqlite 3.7.12(GemFile 1.3.6)、最新のActiveRecord

よろしくお願いします。