База данных Rails из MySQL в Postgres - PullRequest
1 голос
/ 14 февраля 2010

Я разработал ROR-приложение с использованием MySQL и теперь хочу, чтобы оно использовало Postgres.

Я использовал Navicat для передачи данных базы данных MySQL в Postgres и обновил database.yml с настройками среды Postgres.

Когда я запускаю приложение ROR и пытаюсь войти в систему или создать пользователя, я получаю следующую ошибку:

RuntimeError: ОШИБКА C23502 Значение Mnull в столбце "id" нарушает ненулевое ограничение FexecMain.c L2229 RExecConstraints: INSERT INTO "users

Спасибо

1 Ответ

2 голосов
/ 14 февраля 2010

Звучит так, как будто в вашей базе данных MySQL был столбец AUTO_INCREMENT id. Это не стандартная функция ANSI, поэтому она не обязательно будет работать с другими базами данных.

Чтобы сделать то же самое на Postgres, вы можете использовать SERIAL тип столбца (или эквивалентный явный SEQUENCE).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...