2009-11-17 16 views

Odpowiedz

29

Okazuje się, że nie ma opcji tylko w tej sytuacji!

Znalazłem go w activerecord-2.3.4/lib/active_record/schema_dumper.rb:

## 
# :singleton-method: 
# A list of tables which should not be dumped to the schema. 
# Acceptable values are strings as well as regexp. 
# This setting is only used if ActiveRecord::Base.schema_format == :ruby 
cattr_accessor :ignore_tables 
@@ignore_tables = [] 

Więc wszystko, co musiałem zrobić, to trzymać to w końcu environment.rb:

ActiveRecord::SchemaDumper.ignore_tables = ["table_name"] 

Opcja ignore_tables zaakceptuje wyrażeń regularnych. Na przykład, aby ignorować wszystkie tabele zaczynające się od „MS”:

ActiveRecord::SchemaDumper.ignore_tables = [/^MS/] 
0

Myślę, że jeśli zachowasz migrację, aby wygenerować tabelę z folderu migracji, to nie zostanie ona uruchomiona, a z kolei nie zostanie wykorzystana do wygenerowania bazy danych programowania, co powinno ją wyłączyć. the schema.rb.

Prawdopodobnie można wymyślić jakiś sposób na uruchomienie tej jednej migracji, jeśli chcesz zewnątrz zadania natarcia (powinna być po prostu ustanawiający połączenie i następnie działa się na klasie migracji)

+0

Więc migracje położy wszystkich tabel znajdujących się w bazie danych w schema.rb, niezależnie od tego, czy zostały one stworzone przez migracji. Na szczęście znalazłem opcję, aby to zatrzymać! – Tarek

Powiązane problemy