Я использую ветвь секвелирования IBMDB2 для переноса проекта в контейнер db2 . Это используемые версии Sequelize CLI [Node: 12.14.1, CLI: 5.5.1, ORM: 6.0.0-beta.4]
.
Когда я пытаюсь выполнить миграцию с
npx sequelize db:migrate --env db2
, происходит сбой со следующей ошибкой:
ОШИБКА: [IBM ] [Драйвер CLI] [DB2 / LINUXX8664] SQL0541W Ссылочное ограничение, первичный ключ или уникальное ограничение "имя ..." игнорируется, поскольку оно является дублирующим ограничением. SQLSTATE = 01543
В журнале показано, что sequelize пытается дважды создать таблицу SequelizeMeta
.
Loaded configuration file "config\config.json".
Using environment "db2".
Executing (default): SELECT 1+1 AS result
Executing (default): SELECT TABNAME AS "tableName", TRIM(TABSCHEMA) AS "tableSchema" FROM SYSCAT.TABLES WHERE TABSCHEMA = USER AND TYPE = 'T' ORDER BY TABSCHEMA, TABNAME
Executing (default): CREATE TABLE "SequelizeMeta" ("name" VARCHAR(255) NOT NULL UNIQUE , PRIMARY KEY ("name"));
Executing (default): SELECT NAME AS "name", TBNAME AS "tableName", UNIQUERULE AS "keyType", COLNAMES, INDEXTYPE AS "type" FROM SYSIBM.SYSINDEXES WHERE TBNAME = 'SequelizeMeta' ORDER BY NAME;
Executing (default): SELECT "name" FROM "SequelizeMeta" AS "SequelizeMeta" ORDER BY "SequelizeMeta"."name" ASC;
Executing (default): CREATE TABLE "SequelizeMeta" ("name" VARCHAR(255) NOT NULL UNIQUE , PRIMARY KEY ("name"));
Причина, по которой этот сбой кажется довольно ясной. Но как мне сказать сиквелизу не делать этого?
Спасибо за вашу помощь.
Привет
Миха