【发布时间】:2016-04-20 16:32:28
【问题描述】:
当您的架构格式为 :ruby 时,忽略表很简单,但是当您的架构格式为 :sql 时,有没有办法做到这一点?
最好是environment.rb:
ActiveRecord::SQLDumper.ignore_tables = ['table_name']
快速浏览 AR 源代码后,它看起来毫无希望。
【问题讨论】:
标签: ruby-on-rails-4 activerecord
当您的架构格式为 :ruby 时,忽略表很简单,但是当您的架构格式为 :sql 时,有没有办法做到这一点?
最好是environment.rb:
ActiveRecord::SQLDumper.ignore_tables = ['table_name']
快速浏览 AR 源代码后,它看起来毫无希望。
【问题讨论】:
标签: ruby-on-rails-4 activerecord
目前没有办法做到这一点,当schema格式设置为:sql时,Rails不会通过常规的SchemaDumper而是使用ActiveRecord::Tasks::PostgreSQLDatabaseTasks中的任务来做转储,@987654321 @。
代码非常简单。我想出了一个针对ActiveRecord 的简单补丁,它应该可以按预期工作。它依赖于在 database.yml 文件中设置要忽略的表。它基本上添加了以下代码:
ignore_tables = configuration['ignore_tables']
unless ignore_tables.blank?
args += ignore_tables.split(',').map do |table|
"-T #{table}"
end
end
我刚刚提交了带有这些更改的a pull request to rails。如果你想测试它。
【讨论】: