Как использовать bigserial для идентификатора первичного ключа с Sails js
У меня есть следующее определение модели:
module.exports = {
attributes: {
id: {
type: 'bigserial',
primaryKey: true
},
email: {
type: 'email',
required: true,
unique: true
}
}
Когда я поднял паруса, я не предупреждал о типе данных "bigserial", хотя он официально не задокументирован.
Однако в таблице, созданной в Postgresql, столбец "id" имеет тип "text". Как у меня есть bigserial первичный ключ?
1 ответ
Решение
Вы можете использовать эту команду в вашей БД `ALTER TABLE your_table ADD COLUMN key_column BIGSERIAL PRIMARY KEY;
В модели Sails вы можете использовать что-то вроде этого:
module.exports = {
connection: yourConnection,
tableName: yourTableName,
attributes: {
id: {
type: 'integer',
autoIncrement: true,
primaryKey: true
},
email: {
type: 'email',
required: true,
unique: true
}
}
Примечание: вам необходимо предварительно настроить конфигурацию подключения к БД config/connections.js
somePostgresqlServer: {
adapter: 'sails-postgresql',
host: 'YOUR_POSTGRES_SERVER_HOSTNAME_OR_IP_ADDRESS',
user: 'YOUR_POSTGRES_USER',
password: 'YOUR_POSTGRES_PASSWORD',
database: 'YOUR_POSTGRES_DB'
}
и беги npm install sails-postgresql
в папке вашего проекта