SQL миграции.Хранение старого удостоверения личности не работает - PullRequest
0 голосов
/ 06 октября 2018

Я перевожу старую базу данных в новую (mysql => postgres).

Для простоты я сохранил старые идентификаторы, чтобы id делал что-то подобное в knex

knex("my_table").withSchema("mySchema").insert({ 
         id : old[i].id,
         info : old[i].info 
     })

Похоже, это отменяет postgres auto_inc для идентификатора и, следовательно, когда я пытаюсь вставить позже, вот так:

knex("my_table").withSchema("mySchema").insert({ 
             info : "information"
         })

Он автоматически приписывает его идентификатору: 1. Даже если он уже существует из-за миграции.

Мой вопрос: могу ли я сохранить старый идентификатор?

1 Ответ

0 голосов
/ 06 октября 2018

попробуйте изменить последовательность, назначенную столбцу my_table.id для автоматического увеличения.

измените его так, чтобы он начинался с max (old_id) + 1

http://www.postgresqltutorial.com/postgresql-serial/

https://www.postgresql.org/docs/9.1/static/sql-altersequence.html

...