Направляющие не позволят мне записи изменения во время миграции

Как насчет:

var counter = 0;
var interval = setInterval(function() {
    counter++;
    // Display 'counter' wherever you want to display it.
    if (counter == 5) {
        // Display a login box
        clearInterval(interval);
    }
}, 1000);
19
задан Brian Armstrong 9 June 2009 в 21:34
поделиться

3 ответа

Вам необходимо вызвать reset_column_information в модели, которую вы изменили, прежде чем вы сможете использовать новый столбец. Добавьте это между add_column и update:

User.reset_column_information

См. «Использование модели после изменения ее таблицы» на странице ActiveRecord :: Migration .

35
ответ дан 30 November 2019 в 03:38
поделиться

Этот синтаксис очень понятен ... попробуйте изменить_table

class AddReceiveNewsletterToUsers < ActiveRecord::Migration 
   def self.up 
    change_table :users do |t| 
      add_column :users, :subjects, :text
    end
    User.find(39).update_attribute "subjects", "hey there"
  end  

  def self.down 
   remove_column :users, :receive_newsletter  
  end 
end 
1
ответ дан 30 November 2019 в 03:38
поделиться

Если вы скомбинируете эти два параметра в исходной миграции, как это, это сработает?

class SubjectsTextField < ActiveRecord::Migration
  def self.up
    add_column :users, :subjects, :text

    User.find(39).update_attribute "subjects", "hey there"
  end

  def self.down
    remove_column :users, :subjects
  end
end
0
ответ дан 30 November 2019 в 03:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: