我似乎有一个关于Ruby on Rails迁移过程的通知问题。我正在阅读这篇介绍文章,我已经到了需要创建我的第一个表的时候。
我已经运行了以下代码,
[tims@web2 working_ror]# rails generate model Homepage first_name:string last_name:string email:string message:text
invoke active_record
create db/migrate/20131119203948_create_homepages.rb
create app/models/homepage.rb
invoke test_unit
createtest /models/homepage_test.rb
createtest /fixtures/homepages.yml
然后我继续迁移,
[tims@web2 working_ror]# rake db:migrate
== CreateHomepages: migrating ================================================
-- create_table(:homepages)
-> 0.0493s
== CreateHomepages: migrated (0.0494s) =======================================
但是,当我运行我的应用程序时,我看到以下消息:
Migrations are pending; run 'bin/rake db:migrate RAILS_ENV=development' to resolve this issue.
但是,如果我运行上面的代码,
[tims@web2 working_ror]# rake db:migrate RAILS_ENV=development
[tims@web2 working_ror]#
信息还在继续..。
我花了相当多的时间研究论坛--我能找到的最接近的就是放弃并重新构建所有的东西,它们做了以下事情。
rake db:drop rake db:create rake db:migrate
结果也是一样的。
发布于 2013-12-17 21:18:48
你需要做的是
bundle exec rake test:prepare
或
bundle exec rake db:test:prepare
然后
bundle exec rake db:migrate
在运行规范之前
干杯
发布于 2015-04-19 16:20:28
你可以做到
bundle exec rake test:prepare
在Rails测试中,他们不推荐使用db: 4.1+:prepare您现在只需使用:
ActiveRecord::Migration.maintain_test_schema!
如果您需要手动执行此操作
rake db:schema:load RAILS_ENV=test
然后
bundle exec rake db:migrate
发布于 2015-08-17 23:16:55
在RAILS_ROOT/config/environment/development.rb中尝试将以下设置设置为false:
config.active_record.migration_error = false#:page_load
https://stackoverflow.com/questions/20082002
复制相似问题