Я переключаюсь с MongoDB на PostgreSQL и задавался вопросом, как я могу реализовать ту же концепцию, что и в MongoDB, для уникальной идентификации каждого сырья MongoId.POSTGRESQL: автоинкремент для поля типа varchar
После миграции уже существующие уникальные поля в нашей базе данных сохраняются как символ. Я ищу минимальные изменения исходного кода.
Итак, если какой-либо способ существует в postgresql для генерации автоматического приращения уникального идентификатора для каждой вставки в таблицу.
К * Mongoid * вы имеете в виду [ObjectId] (https://docs.mongodb.com/manual/reference/method/ObjectId/) типа в MongoDB? (Некоторые API используют для этого имя MongoId, но, пожалуйста, укажите явно). Если это так, находятся ли они в шестнадцатеричном формате после миграции? – pozs
Да, в формате Hex. – CelinVeronicca
Наиболее близким к тому, что в PostgreSQL является ['uuid' type] (https://www.postgresql.org/docs/current/static/datatype-uuid.html). Обратите внимание, что «ObjectId» MongoDB имеет только 12 байт, тогда как UUID имеют 128 бит (16 байт). Но вы можете преобразовать ваши существующие идентификаторы, добавив (или добавив) f.ex. '' 00000000'' им. Вы можете сгенерировать различные UUID (для значений по умолчанию для столбца) с модулем ['uuid-ossp'] (https://www.postgresql.org/docs/current/static/uuid-ossp.html) – pozs