0

Rails アプリを Linode VPS にデプロイしたばかりで、DB にレコードを追加する最良の方法は何だろうと考えていました。

入力したいカテゴリなどのテーブルがあります。

私は、csv または sql ダンプ ファイルを使用して Taps gem を考えました。

これを行うためのツールがあるかどうか知りたいですか?

ありがとう

4

3 に答える 3

1

この目的のために、デフォルトであるいわゆるシードファイルがあります:

db/seeds.rb

ここにエントリを追加できます (シード ファイルに例があります)。このエントリは、デプロイ後に rake タスクで生成できます。

rake db:seed

おそらくバンドラーも使用しているので、次を使用してください。

bundle exec rake db:seed

シードの数が多い場合は、いつでも複数のファイルを作成できます。大きなシード ファイルの処理に関するこのブログ投稿を参照してください。

ただし、アプリ内の既存のデータが重要であり、サーバーまたはデータベースドライバーを変更している状態にある場合は実際のデータベースから既存のデータを抽象化するための優れた方法を提供するyaml_db gemを調べてください。ドライバーを .yaml ファイルにエクスポートして、後でインポートできるようにします (例: 新しいサーバーにデプロイした後)。

シードについてはRailscast - #179を参照してください。

于 2012-12-19T20:01:26.080 に答える
0

Rails の方法は、db/seeds.rb でシード データを使用し、rake db:seed.

SQL ダンプ ファイルを使用して、次のコマンドを発行して復元することもできます。mysql -u <user> -p <database_name> < <mysql_dump_file>

于 2012-12-19T20:02:22.403 に答える
0

Easy Reference Data gemはdb:seed に似ていますが、エントリが既に存在する場合はレコードを更新します。また、Capistrano との統合も容易です。

完全な開示: 私が働いている会社が宝石を開発しました。

于 2012-12-19T20:23:26.393 に答える