मैं रेल 2.3.5 और MySQL का उपयोग कर रहा हूं।ActiveRecord पर स्विचिंग स्विच :: स्कीमा
मुझे एक मॉडल टेबलए और एक और मॉडल टेबलबी मिला है। टेबलए पूरी तरह से ठीक है .. लेकिन मुझे टेबलबी के लिए कनेक्शन स्वैप करने की जरूरत है। मैं कहीं और किसी अन्य सर्वर से कनेक्ट कर रहा हूं इसलिए मुझे यह जांचना है कि वह तालिका मौजूद है या नहीं। यदि ऐसा नहीं होता है, तो मैं एक नई तालिका तैयार करूंगा।
TableB.establish_connection(new_database_params)
unless TableB.table_exists?
ActiveRecord::Base.establish_connection(new_database_params)
ActiveRecord::Schema.define do
create_table :table_bs do |t|
t.column :text, :string
end
end
ActiveRecord::Base.establish_connection("#{RAILS_ENV}")
end
मैंने देखा कि TableB.establish_connection (new_database_params) मुझे नए सर्वर से जोड़ता है। यह बिल्कुल ठीक है।
जब मैं एक नई तालिका बनाने की कोशिश कर रहा हूं, तो मुझे अभी भी कनेक्शन को स्वैप करने के लिए ActiveRecord :: Base को कॉल करना होगा। ActiveRecord :: Schema पर कनेक्शन स्वैप करने का कोई तरीका है? (Model.establish_connection के समान?)
क्या आपको इस के लिए कोई जवाब मिला? मैं बिल्कुल वही चीज़ हासिल करने की कोशिश कर रहा हूं। –