2016-04-20 9 views
8

के दौरान struct.sql से बाहर एक टेबल रखें, जब आपकी स्कीमा प्रारूप :ruby है, तो टेबल को अनदेखा करना आसान है, लेकिन जब आपका स्कीमा प्रारूप :sql है तो ऐसा करने का कोई तरीका है? environment.rb में इस तरहरेल - माइग्रेशन

आदर्श रूप में कुछ:

ActiveRecord::SQLDumper.ignore_tables = ['table_name'] 

एआर स्रोत कोड के माध्यम से एक त्वरित अवलोकन के बाद यह निराशात्मक लग रहा है।

उत्तर

5

वर्तमान में यह करने के लिए कोई तरीका नहीं है, जब स्कीमा प्रारूप :sql के लिए सेट है, रेल नियमित SchemaDumper के माध्यम से जाना नहीं है, लेकिन इसके बजाय ActiveRecord::Tasks::PostgreSQLDatabaseTasks में कार्यों का उपयोग करता डंप, check it out here क्या करना है।

कोड काफी सरल है। मैं ActiveRecord के लिए एक साधारण पैच के साथ आया जो अपेक्षा के अनुसार काम करना चाहिए। यह आपके database.yml फ़ाइल में अनदेखा करने के लिए तालिकाओं को सेट करने पर निर्भर करता है।

ignore_tables = configuration['ignore_tables'] 
unless ignore_tables.blank? 
    args += ignore_tables.split(',').map do |table| 
    "-T #{table}" 
    end 
end 

मैं सिर्फ उन परिवर्तनों के साथ a pull request to rails प्रस्तुत: यह मूल रूप से निम्नलिखित कोड कहते हैं। यदि आप इसका परीक्षण करना चाहते हैं।

संबंधित मुद्दे