Добавление значений по умолчанию в целочисленные столбцы, ошибка с надписью «right sytnax near»default-1 default null»

#mysql #ruby-on-rails

#mysql #ruby-on-rails

Вопрос:

У меня есть столбец с именем ‘parent_id’, к которому я пытаюсь добавить значение по умолчанию -1:

 change_column  :categories, :parent_id, :default => -1
  

Тип является целым числом в mysql.

Я получаю сообщение об ошибке:

 'mysql2 error......'default-1 default null' at line 1:
alter table 'categories' change 'parent_id' 'parent_id' default-1 default null
  

Кажется, в нем отсутствует знак =?

Кроме того, как мне выполнить db: migrate в тестовой базе данных?

Ответ №1:

У вас отсутствует тип столбца в вашем change_column , он должен быть больше похож на этот:

 change_column :categories, :parent_id, :integer, :default => -1
  

Результат такой: default-1 . change_column Методу требуются три аргумента, а затем хэш необязательных аргументов. Ваш :default => -1 тип столбца смешивается, потому что вы не указали :integer в качестве третьего аргумента.