質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

2426閲覧

production 環境に初期データを挿入したいです

bouyomisan

総合スコア87

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2017/04/15 02:41

編集2017/04/16 09:52

development や test 環境では seed や fixture を使えば初期データをよういできましたが、本番環境でも同じようなことがしたいです。どのようにすればいいでしょうか?

$ rake db:seed RAILS_ENV=production

とするとよくわからないエラーがでました。どうすればいいでしょうか?

ruby

1 $ rake db:seed RAILS_ENV=production 2rake aborted! 3ActiveRecord::StatementInvalid: SQLite3::SQLException: cannot rollback - no transaction is active: rollback transaction 4/usr/local/rvm/gems/ruby-2.3.0/gems/sqlite3-1.3.11/lib/sqlite3/statement.rb:108:in `step' 5/usr/local/rvm/gems/ruby-2.3.0/gems/sqlite3-1.3.11/lib/sqlite3/statement.rb:108:in `block in each' 6/usr/local/rvm/gems/ruby-2.3.0/gems/sqlite3-1.3.11/lib/sqlite3/statement.rb:107:in `loop' 7/usr/local/rvm/gems/ruby-2.3.0/gems/sqlite3-1.3.11/lib/sqlite3/statement.rb:107:in `each' 8/usr/local/rvm/gems/ruby-2.3.0/gems/sqlite3-1.3.11/lib/sqlite3/database.rb:149:in `map' 9/usr/local/rvm/gems/ruby-2.3.0/gems/sqlite3-1.3.11/lib/sqlite3/database.rb:149:in `block in execute' 10/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:566:in `block in log' 11/usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/notifications/instrumenter.rb:21:in `instrument' 12/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:560:in `log' 13/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/sqlite3_adapter.rb:244:in `exec_rollback_db_transaction' 14/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:285:in `rollback_db_transaction' 15/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/abstract/query_cache.rb:14:in `rollback_db_transaction' 16/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/abstract/transaction.rb:138:in `rollback' 17/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/abstract/transaction.rb:183:in `rollback_transaction' 18/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/abstract/transaction.rb:192:in `rescue in within_new_transaction' 19/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/abstract/transaction.rb:209:in `within_new_transaction' 20/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:232:in `transaction' 21/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.0.1/lib/active_record/transactions.rb:211:in `transaction' 22/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.0.1/lib/active_record/transactions.rb:392:in `with_transaction_returning_status' 23/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.0.1/lib/active_record/transactions.rb:324:in `save!' 24/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.0.1/lib/active_record/suppressor.rb:45:in `save!' 25/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.0.1/lib/active_record/persistence.rb:51:in `create!' 26/home/ubuntu/workspace/toy_app/db/seeds.rb:3:in `<top (required)>' 27/usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:287:in `load' 28/usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:287:in `block in load' 29/usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:259:in `load_dependency' 30/usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:287:in `load' 31/usr/local/rvm/gems/ruby-2.3.0/gems/railties-5.0.0.1/lib/rails/engine.rb:549:in `load_seed' 32/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.0.1/lib/active_record/tasks/database_tasks.rb:268:in `load_seed' 33/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-5.0.0.1/lib/active_record/railties/databases.rake:196:in `block (2 levels) in <top (required)>' 34/usr/local/rvm/gems/ruby-2.3.0/gems/rake-12.0.0/exe/rake:27:in `<top (required)>' 35/usr/local/rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `eval' 36/usr/local/rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `<main>' 37SQLite3::SQLException: cannot rollback - no transaction is active 38/usr/local/rvm/gems/ruby-2.3.0/gems/sqlite3-1.3.11/lib/sqlite3/statement.rb:108:in `step' 39/usr/local/rvm/gems/ruby-2.3.0/gems/sqlite3-1.3.11/lib/sqlite3/statement.rb:108:in `block in each' 40/usr/local/rvm/gems/ruby-2.3.0/gems/sqlite3-1.3.11/lib/sqlite3/statement.rb:107:in `loop' 41/usr/local/rvm/gems/ruby-2.3.0/gems/sqlite3-1.3.11/lib/sqlite3/statement.rb:107:in `each' 42/usr/local/rvm/gems/ruby-2.3.0/gems/sqlite3-1.3.11/lib/sqlite3/database.rb:149:in `map' 43/usr/local/rvm/gems/ruby-2.3.0/gems/sqlite3-1.3.11/lib/sqlite3/database.rb:149:in `block in

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

suama

2017/04/16 01:23

RAIL_ENV=productionにして db:seedで本番環境にデータ登録ができると思います。もしかしてseedで登録したい内容がproductionとdevelopmentの時とで異なっていたりしますか?
bouyomisan

2017/04/16 09:53

ありがとうございます。そんなのがあるとは知りませんでした。そしてやってみたのですが、エラーがでました。。
guest

回答1

0

ベストアンサー

データベースのdumpを取るのが一番良いでしょう。
つまり、developmentでのデータのバックアップをそのままproductionに突っ込むというやり方です。
本番環境のデータをバックアップする際にもよく用いられる方法です。(もちろんAWSのRDSなどでは独自のバックアップ方法もありますが、二重の方法として、ローカルにダンプファイルを残しておくというやり方がよく取る方法です)

投稿2017/04/29 15:04

編集2017/04/29 15:07
daikitakaya

総合スコア229

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問