Как мне начать отсчет с 10000 в моем поле основного ключа в рельсах? - PullRequest
3 голосов
/ 25 марта 2011

Я хотел бы запустить миграцию, чтобы создать таблицу User, которая начинает отсчет с 10000 для столбца user_id. Я хотел бы избежать использования специального синтаксиса БД с помощью метода execute, потому что мои серверы разработки и разработки не совпадают.

Есть ли способ сделать это с помощью рельсов?

1 Ответ

2 голосов
/ 25 марта 2011

Если вам нужно сделать это независимо от базы данных, я не вижу более простого варианта, чем создать 10000 пользователей в вашей миграции, а затем выполнить «усечение пользователей таблицы» или просто удалить пользователей с идентификатором <10000. Этовероятно, потребуется немного времени. </p>

В postgres вы можете переопределить начальный номер последовательности, ответственной за генерацию этих идентификаторов.В MySQL вы можете сделать это также, но по-другому: «ALTER TABLE theTableInQuestion AUTO_INCREMENT = 1234»

Конечно, вы можете добавить эту функцию в класс ActiveRecord :: Migration и обеспечить реализацию в драйверах, специфичных для БД.*

Все зависит от того, как далеко вы хотите зайти с этим:)

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