मैं रेल 3.2.6 का उपयोग कर रहा हूं और मुझे डेटाबेस दृश्य बनाने की आवश्यकता है। हमेशा की तरह मैंने माइग्रेशन बनाया और मैंने निष्पादन विधि का उपयोग करके लक्ष्य प्राप्त करने का प्रयास किया।रेल 3.2.6 और माइग्रेशन के माध्यम से डेटाबेस दृश्य निर्माण
दुर्भाग्यवश माइग्रेशन एक तालिका उत्पन्न करता है, न कि दृश्य। क्यूं कर?
अग्रिम में बहुत धन्यवाद, मौरो
अद्यतन:
मैं इस प्रकार कुछ है करना चाहते हैं:
class CreateMyView < ActiveRecord::Migration
def self.up
execute <<-SQL
CREATE VIEW my_view AS SELECT ...
SQL
end
def self.down
execute <<-SQL
DROP VIEW my_view
SQL
end
end
दुर्भाग्य से इस प्रवास एक मेज बनाता है ...
अद्यतन: पिछले कोड काम करता है! मैं रेक डीबी निष्पादित कर रहा था: रेक डीबी के बजाय रीसेट करें: माइग्रेट करें: रीसेट करें (मेरी गलती)
मुझे यकीन नहीं है कि इस तरह के माइग्रेशन को उत्पन्न करना संभव है। दृश्य बनाने के लिए कच्चे एसक्यूएल का प्रयोग करें। –
मैं वही कर रहा हूं (सिवाय इसके कि मैं डिफ अप और डिफ डाउन का उपयोग कर रहा हूं, self.up और def self.down को डिफॉल्ट नहीं करता - क्या कोई अंतर है?) और मुझे वही व्यवहार मिलता है: यह एक दृश्य बनाता है जब मैं माइग्रेशन चलाएं, लेकिन schema.rb फ़ाइल में create_table कमांड जोड़ता है। – Ladlestein