0

データを現在の Rails プロジェクトにインポートしたい production.sqlite3 ファイルがあります。データベース スキーマは、ファイルと現在のプロジェクトの間で一致しています。コンテンツを development.sqlite3 ファイルにコピーしましたが、これは機能しません。データベースにデータを挿入する唯一の方法は、yml ファイルをロードするか、seed コマンドを使用することです。Railsに.sqliteファイルからデータをロードさせる魔法のコマンドやその他の方法はありますか? 私が発見したことから、レールの動作は、 rake db:create &migrate を実行したときに .sqlite3 ファイルのみを作成するということですが、そのファイルで手動で変更が行われた場合は無視されます。助けてください!

4

1 に答える 1

0

.sqlite3 ファイルの名前を変更するとうまくいくようです。サーバーを再起動したこと、およびサーバーが正しい環境で実行されていることを確認してください。両方の .sqlite3 ファイルを完全に別のフォルダーに移動し、サーバーを再起動すると、エラーが発生するはずです。そうでない場合は、サーバーが適切に再起動されていません。すべての ruby​​ プロセスを強制終了して、もう一度やり直してください。

データの移行に関するあなたの質問への回答として、私は最近、sqlite3 から mysql に移行しなければならないという同様の問題を抱えていました。私が見つけた最良の解決策はyaml_db でした。それは美しく仕事をしているように見えました-それをプロジェクトに追加してから実行してください

rake db:data:dump

データベース構成を交換します (または、新しいデータベース ファイルを移行するか、開発環境を変更します。空の構造化されたデータベースをアクティブにするために必要なことは何でも)、次のようにします。

rake db:data:load
于 2012-04-11T13:13:24.660 に答える