如何抑制DDL日志

我写了使用MySQL在一个“非标”的方式,所以说一个应用程序。 它在很大程度上依赖于动态创建/删除的表。

到目前为止它的正常工作。 规格不要让我开心,虽然。 每当我运行它们,我得到吨的ActiveRecord的DDL日志消息。 你自己看:

SqlDailyEvents -- create_table("11_daily_events_20120428") -> 0.0032s should create and drop a table -- create_table("11_daily_events_20120428") -> 0.0030s should not create the same table twice should not drop the same table twice

这是--format d 。 随着--format p它看起来更糟!

我怎么把它关掉? 此日志似乎没受影响ActiveRecord::Base.logger (我试过设置nil )。

--------------解决方案-------------

删除与操纵内核方法的代码$stdout

这是ActiveRecord的,毕竟。 看来,如果你定义迁移“新”的方式(与change的方法,而不是up / down对),它不是垃圾邮件,你一样多。 无论如何,它也有类似的方法,但它操纵迁移的冗长,而不是$stdout

现在我的代码如下所示:

def up
# built-in method. sets verbose flag to false
suppress_messages do
create_table table_name do |t|
t.column :username, :string
end
end
end

分类:MySQL的 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.840 (s). 10 q(s)