Dar*_*ous 3 ruby-on-rails
如果没有RAILS_ENV指定,db:create并db:drop影响到开发和测试.但是在同样的情况下db:migrate只影响发展.为什么是这样?
RAILS_ENV
db:create
db:drop
db:migrate
sja*_*agr 5
这是因为只有在运行测试时test才会通过数据库进行更新schema.rb.
test
schema.rb
看到这里:
为了运行测试,您的测试数据库需要具有当前结构.测试助手检查您的测试数据库是否有任何挂起的迁移.如果是这样,它将尝试加载您的db/schema.rb或db/structure.sql进入测试数据库.如果迁移仍处于暂挂状态,则会引发错误.通常,这表示您的架构未完全迁移.对开发数据库(bin/rake db:migrate)运行迁移将使架构更新.
db/schema.rb
db/structure.sql
bin/rake db:migrate
归档时间:
10 年,8 月 前
查看次数:
28 次
最近记录: