2013-06-04 8 views

答えて

7

移行では、いつでも未加工SQLを実行できます。

MYSQL:

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

は、PostgreSQL:

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

MySQLのために動作しますが、構文はPostgreSQLの若干異なります。実行の "DROP TABLEの#{:} TABLE_NAME CASCADE" – l3x

2

postgres.rbと呼ばれるあなたの初期化子のディレクトリにファイルを置くが、その後でした。とにかくこれはレール4.1で動作します。

次の操作を行うことができますRailsの4では
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

drop_table :accounts, force: :cascade 
関連する問題