当您的模式格式为 :ruby
时,可以直接忽略表。 ,但是当您的架构格式为 :sql
时,有没有办法做到这一点? ?
理想情况下是这样的 environment.rb
:
ActiveRecord::SQLDumper.ignore_tables = ['table_name']
快速浏览 AR 源代码后,它看起来没有希望。
最佳答案
当模式格式设置为 :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随着这些变化。如果你想测试它。
关于ruby-on-rails-4 - Rails - 在迁移期间将表保留在 structure.sql 之外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36749936/