1

Rails アプリケーションで使用される SQLite データベースにデータを挿入しようとしています。

最初は SQLite マネージャーを使用できると思ってinsert into tablename (value) values ('value')いましたが、テーブルに何も挿入されず、エラーも発生しませんでした。

私は何か間違ったことをしていますか?Railsで直接これを行う方法はありますか?

ある種のアクティブレコードの移行を使用できると思っrake db:migrateていましたが、適切なコマンドが見つかりませんでした。

4

1 に答える 1

1

rails runnerこれは、アプリケーションの Rails スタック全体をロードする必要なく、Rails ランタイムを活用する優れた方法です。基礎となる DB の完全な ActiveRecord リソースが提供されるため、データベース操作が簡単になります。

runner組み込みのヘルプから:

レールランナー
使用法: runner [オプション] ('Some.ruby(code)' またはファイル名)

    -e, --environment=name ランナーが動作する環境 (テスト/開発/本番) を指定します。
                                     デフォルト: 開発

    -h, --help このヘルプ メッセージを表示します。

次のように、スクリプトのシバン ラインとして runner を使用することもできます。
-------------------------------------------------- -----------
#!/usr/bin/env /Users/greg/junk/foo/script/rails ランナー

Product.all.each { |p| p.price *= 2; p.save! }

Rails の下のデータをデータベースにロードするジョブで、これを数回使用しました。それはあなたがする必要があることのための素晴らしい解決策になるでしょう.

詳細については、 「Rails task: script/runner or rake?」も読む価値があります。

于 2013-01-09T20:00:44.553 に答える