Я не могу понять, что случилось с моим синтаксисом миграции, пожалуйста, помогите. Я запускал rake db: migrate, database в MySql2
ошибка:
Mysql2 :: Ошибка: у вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с "ИСПОЛЬЗОВАНИЕ CAST (число AS целое число) DEFAULT NULL" в строке 1: ALTER TABLE
seats
CHANGEnumber
number
integer ИСПОЛЬЗОВАНИЕ CAST (число AS целое) DEFAULT NULL
под ним синтаксис:
class ChangeNumberTypeInSeats < ActiveRecord::Migration
def change
change_column :seats, :number, 'integer USING CAST(number AS integer)'
end
end
Я предполагаю, что, поскольку мой партнер использует PostgreSQL локально, но все равно вытолкнул код из Git. Пожалуйста помоги.
Последний аргумент change_column
:
'integer USING CAST(number AS integer)'
является способом postgres для преобразования столбца из одного типа в другой (в этом случае в целое число) (см. больше).
Если вы хотите использовать код, специфичный для базы данных, в миграциях, вам нужно согласовать, какую базу данных вы используете, и последовательно ее выполнять в команде. Код, специфичный для Postgres, не будет работать на Mysql и наоборот.
Как правило, хорошая идея иметь одну и ту же БД по всей команде и ту же самую, что и при производстве (чтобы сохранить паритет dev-prod).
database.yml
к вопросу?