Rails アプリを Linode VPS にデプロイしたばかりで、DB にレコードを追加する最良の方法は何だろうと考えていました。
入力したいカテゴリなどのテーブルがあります。
私は、csv または sql ダンプ ファイルを使用して Taps gem を考えました。
これを行うためのツールがあるかどうか知りたいですか?
ありがとう
Rails アプリを Linode VPS にデプロイしたばかりで、DB にレコードを追加する最良の方法は何だろうと考えていました。
入力したいカテゴリなどのテーブルがあります。
私は、csv または sql ダンプ ファイルを使用して Taps gem を考えました。
これを行うためのツールがあるかどうか知りたいですか?
ありがとう
この目的のために、デフォルトであるいわゆるシードファイルがあります:
db/seeds.rb
ここにエントリを追加できます (シード ファイルに例があります)。このエントリは、デプロイ後に rake タスクで生成できます。
rake db:seed
おそらくバンドラーも使用しているので、次を使用してください。
bundle exec rake db:seed
シードの数が多い場合は、いつでも複数のファイルを作成できます。大きなシード ファイルの処理に関するこのブログ投稿を参照してください。
ただし、アプリ内の既存のデータが重要であり、サーバーまたはデータベースドライバーを変更している状態にある場合は、実際のデータベースから既存のデータを抽象化するための優れた方法を提供するyaml_db gemを調べてください。ドライバーを .yaml ファイルにエクスポートして、後でインポートできるようにします (例: 新しいサーバーにデプロイした後)。
シードについてはRailscast - #179を参照してください。
Rails の方法は、db/seeds.rb でシード データを使用し、rake db:seed
.
SQL ダンプ ファイルを使用して、次のコマンドを発行して復元することもできます。mysql -u <user> -p <database_name> < <mysql_dump_file>
Easy Reference Data gemはdb:seed に似ていますが、エントリが既に存在する場合はレコードを更新します。また、Capistrano との統合も容易です。
完全な開示: 私が働いている会社が宝石を開発しました。