2013-06-04 7 views

उत्तर

7

आप हमेशा माइग्रेशन में कच्चे एसक्यूएल चला सकते हैं।

MySQL:

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

PostgreSQL:

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

कि MySQL के लिए काम करता है, लेकिन वाक्य रचना PostgreSQL के लिए थोड़ा अलग है: निष्पादित "ड्रॉप तालिका # {: TABLE_NAME} CASCADE" – l3x

2

अपने initializers निर्देशिका कहा जाता 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 
29

रेल में 4 आप कर सकते हैं निम्नलिखित:

drop_table :accounts, force: :cascade 
संबंधित मुद्दे