ruby-on-rails-4 - Rails - 在迁移期间将表保留在 structure.sql 之外

标签 ruby-on-rails-4 activerecord

当您的模式格式为 :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/

相关文章:

ruby-on-rails - rails .order 方法不起作用

ruby-on-rails - Ruby on Rails、ActiveRecord、Postgres、UTF-8 和 ASCII-8BIT 编码

ruby-on-rails - 查找最后的 created_at 记录

ruby-on-rails - 在 Rails_admin 自定义操作中重构 Ruby Proc 内的代码

ruby-on-rails - 页面加载时未应用布局

ruby-on-rails - Ruby on Rails 4 date_field 似乎没有呈现

ruby-on-rails - 动态站点地图错误

ruby-on-rails - Ruby on Rails - 显示相关表中的字段

ruby - 按组大小排列的 Active Record 顺序

ruby-on-rails - 将调用者应用程序堆栈跟踪与每个 sql 查询一起记录