Redshift - неподдерживаемый тип "serial" для идентификатора автоинкремента с node-orm-2

Любое понимание того, как получить автоматический идентификатор приращения работает? Насколько я понимаю, столбец id добавлен по умолчанию; однако из-за того, что я использую Redshift, "серийный" тип по умолчанию не будет работать, поскольку он не поддерживается.

{ [error: Column "probe.id" has unsupported type "serial".]
  name: 'error',
  length: 165,
  severity: 'ERROR',
  code: '0A000',
  detail: undefined,
  hint: undefined,
  position: undefined,
  internalPosition: undefined,
  internalQuery: undefined,
  where: undefined,
  schema: undefined,
  table: undefined,
  column: undefined,
  dataType: undefined,
  constraint: undefined,
  file: '/home/awsrsqa/padb/src/pg/src/backend/parser/parser_analyze.c',
  line: '3600',
  routine: 'transformColumnDefinition',
  model: 'probe' }

1 ответ

Решение

Ничего подобного не поддерживается.

Вы можете получить автоинкремент только для целого числа:

IDENTITY(seed, step) Пункт, который указывает, что столбец является IDENTITY колонка. IDENTITY столбец содержит уникальные автоматически сгенерированные значения. Эти значения начинаются со значения, указанного как начальное значение, и увеличиваются на число, указанное как шаг. Тип данных для IDENTITY столбец должен быть либо INT или же BIGINT,

Для GUID вы должны сгенерировать его и вставить его самостоятельно.

Пример:

CREATE TABLE your_table(
   id INT IDENTITY(1, 1)
);
Другие вопросы по тегам