2016-04-20 12 views
8

Łatwo ignorujesz tabele, gdy twój format schematu to :ruby, ale czy istnieje sposób, aby to zrobić, gdy twój format schematu to :sql?Szyny - Utrzymuj tabelę poza strukturą.sql podczas migracji

Idealnie coś takiego w environment.rb:

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

Po szybkim Lektura poprzez kod źródłowy AR wygląda obiecujący.

Odpowiedz

5

Obecnie nie ma sposobu, aby to zrobić, gdy format schematu jest ustawiony na :sql, Szyny nie przechodzą regularne SchemaDumper ale zamiast tego używa zadania w ActiveRecord::Tasks::PostgreSQLDatabaseTasks zrobić zrzut, check it out here.

Kod jest dość prosty. Wpadłem na prostą łatkę dla ActiveRecord, która powinna działać zgodnie z oczekiwaniami. Opiera się na ustawianiu ignorowania tabel w pliku database.yml. To w zasadzie dodaje następujący kod:

ignore_tables = configuration['ignore_tables'] 
unless ignore_tables.blank? 
    args += ignore_tables.split(',').map do |table| 
    "-T #{table}" 
    end 
end 

Właśnie przedłożone a pull request to rails z tych zmian. Na wypadek, gdybyś chciał to przetestować.

Powiązane problemy