我是RoR的新手。以下行正常执行:
bundle exec rake db:migrate
输出显示它已迁移。尽管schema.rb已正确编写,但development.sqlite3
和production.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
请帮我解决问题。如果需要指定任何其他细节,请告诉我。
答案 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