2013-06-04 11 views

Antwort

7

Sie könnten in der Migration immer Raw SQL ausführen.

MYSQL:

execute "DROP TABLE #{:table_name} CASCADE CONSTRAINTS PURGE" 

PostgreSQL:

execute "DROP TABLE #{:table_name} CASCADE" 
+0

Das ist für MySQL funktioniert, aber die Syntax ist etwas anders für PostgreSQL: execute "DROP TABLE # {: table_name} CASCADE" – l3x

2

Legen Sie eine Datei in Ihrem initializers Verzeichnis namens postgres.rb damals. Dies funktioniert sowieso für Schienen 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 
29

In Schienen 4 Sie tun können, die folgenden:

drop_table :accounts, force: :cascade 
Verwandte Themen