Миграции направляющих: Отмените настройку по умолчанию для столбца

wmic OS get TotalVisibleMemorySize /Value

Примечание не TotalPhysicalMemory, как предлагается в другом месте

190
задан Kara 25 February 2014 в 06:23
поделиться

3 ответа

Rails 5+

def change
  change_column_default( :table_name, :column_name, from: nil, to: false )
end

Rails 3 и Rails 4

def up
  change_column_default( :table_name, :column_name, nil )
end

def down
  change_column_default( :table_name, :column_name, false )
end
386
ответ дан 23 November 2019 в 05:36
поделиться

Звучит так, будто вы делаете правильные вещи со своим 'execute', как указано в документации:

 change_column_default (table_name, column_name, default)

Устанавливает новое значение по умолчанию для столбца. Если вы хотите установить значение по умолчанию на NULL, вам не повезло. Тебе нужно в DatabaseStatements # выполнить соответствующий оператор SQL самостоятельно. Примеры

 change_column_default (: поставщики,: квалификация, 'новый')
change_column_default (: учетные записи,: авторизованные, 1)
23
ответ дан 23 November 2019 в 05:36
поделиться

Следующий фрагмент, который я использую, чтобы сделать NULL столбцы NOT NULL , но пропустить DEFAULT на уровне схемы:

def self.up
  change_column :table, :column, :string, :null => false, :default => ""
  change_column_default(:table, :column, nil)
end
14
ответ дан 23 November 2019 в 05:36
поделиться
Другие вопросы по тегам:

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