2011-12-10 14 views
3

私はsqliteを使用しています。私はproduction.sqlite3にコピーして本番環境でいくつかのテストを実行するdevelopment.sqlite3ファイルを持っています。sqliteを使用して開発DBのデータを製品DBにコピーする方法

mv development.sqlite3 production.sqlite3を実行するだけで、開発用データベースを生産にコピーしようとしましたが、それは機能していないようです。

これを行うにはどうすればいいのですか?

答えて

4

this questionによると、次のコードがそれを行います。

RAILS_ENV=production rake db:create db:schema:load 

これは、現在のproduction.sqlite3を空にします。データベースを作成して構造をロードしたら、development.sqlite3をproduction.sqlite3にコピーしてデータをコピーすることができます。

cp db/development.sqlite3 db/production.sqlite3 
+0

私はこれを試みましたが、動作していないようです。データがproduction.sqlite3にあることを確認する方法と、レールが本番環境にあることを確認する方法があります。 –

+0

私はsqlite3の中で 'select * from posts;'を実行し、dbにデータがないことを確認しました。私は何か間違っているのですか?コマンドラインからこれらのコマンドを実行したところ、期待通りの出力が得られたようでした。 –

+0

実稼働中のrailsサーバを起動するには 'rails server production'を実行し、コンソールを起動するには' rails console -e production'を実行します。あなたはsqlite3でproduction.sqlite3にデータが見つかりませんでしたか? development.sqlite3をコピーした場合は、Railsに関係なく、まったく同じデータを保持する必要があります。 – Frans

関連する問題