Come si impone un DROP TABLE CASCADE in una migrazione di Rails 3.2?Rails: creare una migrazione a cascata di tabelle drop
Esiste un'opzione per passare a drop_table ("table_name")?
Come si impone un DROP TABLE CASCADE in una migrazione di Rails 3.2?Rails: creare una migrazione a cascata di tabelle drop
Esiste un'opzione per passare a drop_table ("table_name")?
È possibile eseguire sempre SQL raw durante la migrazione.
MYSQL:
execute "DROP TABLE #{:table_name} CASCADE CONSTRAINTS PURGE"
PostgreSQL:
execute "DROP TABLE #{:table_name} CASCADE"
mettere un file nella vostra directory chiamata inizializzatori postgres.rb poi ha fatto. Questo funziona comunque per i binari 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
In Rails 4 è possibile effettuare le seguenti operazioni:
drop_table :accounts, force: :cascade
che funziona per MySQL, ma la sintassi è leggermente diversa per PostgreSQL: eseguire "DROP TABLE # {: table_name} CASCADE" – l3x