Ответ 1
Вы всегда можете запустить raw SQL в процессе миграции.
MYSQL:
execute "DROP TABLE #{:table_name} CASCADE CONSTRAINTS PURGE"
PostgreSQL:
execute "DROP TABLE #{:table_name} CASCADE"
Как заставить TAB CASCADE DROP TABLE в миграции Rails 3.2?
Есть ли возможность перейти к drop_table ( "table_name" )?
Вы всегда можете запустить raw SQL в процессе миграции.
MYSQL:
execute "DROP TABLE #{:table_name} CASCADE CONSTRAINTS PURGE"
PostgreSQL:
execute "DROP TABLE #{:table_name} CASCADE"
В Rails 4 вы можете сделать следующее:
drop_table :accounts, force: :cascade
Поместите файл в каталог инициализаторов, который называется postgres.rb, затем сделал. Это все равно работает для рельсов 4.1.
module ActiveRecord
module ConnectionAdapters # :nodoc:
module SchemaStatements
def drop_table(table_name, options = {})
execute "DROP TABLE #{quote_table_name(table_name)} CASCADE"
end
end
end
end