【问题标题】:How to understand "rake db:seed"如何理解“rake db:seed”
【发布时间】:2015-07-13 01:54:55
【问题描述】:

我正在使用 Michael Hartl 的 rails 教程。 每当我使用以下内容时

$ bundle exec rake db:migrate:reset 

然后

$ bundle exec rake db:seed

等待。它没有显示任何内容。

当我这样做时:

bundle exec rake test

我明白了

ActiveRecord::PendingMigrationError: Migrations are pending.
To resolve this issue, 
bin/rake db:migrate RAILS_ENV=test

当上述完成后——“db:migrate RAILS_ENV=test”,测试就清晰了。

但是迈克尔没有提到这种情况发生的任何事情,有人可以帮忙解释一下吗?

【问题讨论】:

    标签: ruby-on-rails database seed dbmigrate


    【解决方案1】:

    默认情况下,大多数rake 命令将在传递给命令行的RAILS_ENV 上下文中运行。如果没有RAILS_ENV 传递到命令行,它将在development 上下文中运行,该上下文与test 上下文是分开的。有一些例外,例如 rake db:create,它将创建您的 developmenttest 数据库,但 migrate 将针对指定的环境工作。

    【讨论】:

    • 你的意思是,除非明确迁移,否则我不会在测试环境中拥有数据库?
    • 你的数据库会在那里,但迁移——定义你所有的表和列的东西——不会在那里。
    猜你喜欢
    • 2013-02-13
    • 2023-04-09
    • 1970-01-01
    • 2015-07-11
    • 2015-10-12
    • 2014-10-09
    • 1970-01-01
    • 1970-01-01
    • 2014-11-07
    相关资源
    最近更新 更多