bundle exec rake db:migrate working,但development.sqlite3为空

时间:2016-12-27 13:36:32

标签: ruby-on-rails ruby sqlite

我是RoR的新手。以下行正常执行:

bundle exec rake db:migrate  

输出显示它已迁移。尽管schema.rb已正确编写,但development.sqlite3production.sqlite3已创建但为空。 users表已成功创建,但没有任何记录。我也执行了:

bundle exec rake db:test:prepare  

test.sqlite3已创建并正确编写。这是迁移文件中文件的内容:

class CreateUsers < ActiveRecord::Migration
 def change
  create_table :users do |t|
   t.string :name
   t.string :email

   t.timestamps
  end
 end
end

请帮我解决问题。如果需要指定任何其他细节,请告诉我。

1 个答案:

答案 0 :(得分:1)

因此bundle exec rake db:test:prepare可能会设置您的环境以进行测试。

这就是为什么你最终会得到一个有效的测试数据库的原因。

如果您想在开发数据库中拥有数据,则需要将环境设置为开发。

尝试RACK_ENV=development bundle exec rake db:test:prepare

虽然更干净的解决方案是创建种子文件。请参阅:http://edgeguides.rubyonrails.org/active_record_migrations.html#migrations-and-seed-data