当您的架构格式为:ruby
时,忽略表格很简单,但是当您的架构格式为:sql
时,有没有办法实现?
environment.rb
中的理想情况是这样的:
ActiveRecord::SQLDumper.ignore_tables = ['table_name']
通过AR源代码快速阅读后,它看起来没有希望。
答案 0 :(得分:5)
目前无法执行此操作,当架构格式设置为:sql
时,Rails不会通过常规SchemaDumper
,而是使用ActiveRecord::Tasks::PostgreSQLDatabaseTasks
中的任务转储,check it out here。
代码非常简单。我想出了一个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这些更改。如果您想测试它。