【问题标题】:Rails - Keep a table out of structure.sql during migrationsRails - 在迁移期间将表保留在 structure.sql 之外
【发布时间】:2016-04-20 16:32:28
【问题描述】:

当您的架构格式为 :ruby 时,忽略表很简单,但是当您的架构格式为 :sql 时,有没有办法做到这一点?

最好是environment.rb

ActiveRecord::SQLDumper.ignore_tables = ['table_name']

快速浏览 AR 源代码后,它看起来毫无希望。

【问题讨论】:

    标签: ruby-on-rails-4 activerecord


    【解决方案1】:

    目前没有办法做到这一点,当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。如果你想测试它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-24
      • 1970-01-01
      • 2012-07-27
      • 1970-01-01
      • 2015-01-21
      • 2017-06-24
      • 1970-01-01
      相关资源
      最近更新 更多