7

每次运行测试套件(使用内存中的 sqlite 数据库)时,我都在运行 rails 迁移。如何关闭迁移的输出?

示例输出

-- create_table("alerts", {:force=>true})
  -> 0.0038s
-- create_table("businesses", {:force=>true})
  -> 0.0061s
etc...
4

3 回答 3

12

您可以通过调用ActiveRecord::Migration.verbose = false 参考来做到这一点:https ://github.com/rails/rails/blob/master/activerecord/lib/active_record/migration.rb#L253

于 2013-10-03T07:48:25.853 回答
5

您还可以像这样使用 ActiveRecord::Migration.supress_messages 方法:

ActiveRecord::Migration.suppress_messages do
  # MIGRATION CODE
end
于 2018-10-15T14:04:55.413 回答
0

要详细说明tilleryj 的答案,您不需要显式调用.suppress_messages该类ActiveRecord::Migration,因为迁移已经从此类继承(这是假设您从迁移中调用此方法)。因此,您可以这样称呼它:

suppress_messages do
  # MIGRATION CODE
end
于 2020-05-11T16:18:56.607 回答