Как использовать 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в папке вашего проекта

Другие вопросы по тегам