मेरे डेटाबेस में मेरे कई तालिकाओं में एक ही विशेषता है, इस विशेषता को address कहा जाता है और यह string प्रकार का है, मैं इसे text प्रकार के रूप में कैसे बदल सकता हूं, लेकिन मैं इसे कई तालिकाओं में करना चाहता हूं

क्या कोई तरीका है जिससे मैं इन सभी परिवर्तनों को एक ही प्रवास में कर सकता हूँ?

class ChangeTypeAddressPlaces < ActiveRecord::Migration[5.0]
  def up
    change_table :precints do |t|
      t.change :address, :text
    end

    change_table :precint_events do |t|
      t.change :address, :text
    end

    change_table :precint_translations do |t|
      t.change :address, :text
    end

    change_table :locations do |t|
      t.change :address, :text
    end

    change_table :location_events do |t|
      t.change :address, :text
    end

    change_table :location_translations do |t|
      t.change :address, :text
    end
  end

  def down
    change_table :precints do |t|
      t.change :address, :string
    end

    change_table :precint_events do |t|
      t.change :address, :string
    end

    change_table :precint_translations do |t|
      t.change :address, :string
    end

    change_table :locations do |t|
      t.change :address, :string
    end

    change_table :location_events do |t|
      t.change :address, :string
    end

    change_table :location_translations do |t|
      t.change :address, :string
    end
  end
end
1
Alejandro Cortés 24 जिंदा 2020, 01:57

2 जवाब

सबसे बढ़िया उत्तर

अधिक संक्षिप्त होने के लिए आप change_column माइग्रेशन पद्धति का उपयोग कर सकते हैं। आपका माइग्रेशन नीचे इस उदाहरण जैसा कुछ दिखाई देगा। मैं एक्टिव रिकॉर्ड माइग्रेशन डॉक्स को भी पढ़ने का सुझाव दूंगा।

def up
  change_column :precints, :address, :text
  change_column :precint_events, :address, :text
  change_column :precint_translations, :address, :text
  change_column :locations, :address, :text
  change_column :location_events, :address, :text
  change_column :location_translations, :address, :text
end

def down
  change_column :precints, :address, :string
  change_column :precint_events, :address, :string
  change_column :precint_translations, :address, :string
  change_column :locations, :address, :string
  change_column :location_events, :address, :string
  change_column :location_translations, :address, :string
end
2
Steven Foster 24 जिंदा 2020, 02:30
class ChangeTypeAddressPlaces < ActiveRecord::Migration[5.0]
  TABLES = [:precints, :precint_events, :precint_translations,                   
            :locations, :location_events, :location_translations]
  def up
    TABLES.each { |table| change_column table, :address, :text }
  end

  def down
    TABLES.each { |table| change_column table, :address, :string }
  end
end
0
max 24 जिंदा 2020, 07:26