关于 npx mikro-orm 迁移的 NotNullConstraintViolationException:up

问题描述

修改了我的实体并使用 npx mikro-orm migration:create 创建了它的迁移。现在,当我尝试使用 npx mikro-orm migration:up 应用迁移时。

我收到以下错误

NotNullConstraintViolationException: alter table "user" add column "role" text check ("role" in ('admin','chief_editor','editor','user')) not null; - column "role" contains null values
    at PostgresqlExceptionConverter.convertException (C:\dev\nodejs\nestjs\blog-api\node_modules\@mikro-orm\postgresql\PostgresqlExceptionConverter.js:24:24)
    at PostgresqlDriver.convertException (C:\dev\nodejs\nestjs\blog-api\node_modules\@mikro-orm\core\drivers\DatabaseDriver.js:194:54)
    at C:\dev\nodejs\nestjs\blog-api\node_modules\@mikro-orm\core\drivers\DatabaseDriver.js:198:24
    at processticksAndRejections (node:internal/process/task_queues:93:5)
    at Function.runSerial (C:\dev\nodejs\nestjs\blog-api\node_modules\@mikro-orm\core\utils\Utils.js:484:22)       
    at C:\dev\nodejs\nestjs\blog-api\node_modules\@mikro-orm\migrations\MigrationRunner.js:23:17
    at PostgresqlConnection.transactional (C:\dev\nodejs\nestjs\blog-api\node_modules\@mikro-orm\knex\AbstractsqlConnection.js:53:25)
    at MigrationRunner.run (C:\dev\nodejs\nestjs\blog-api\node_modules\@mikro-orm\migrations\MigrationRunner.js:20:13)

prevIoUs error: alter table "user" add column "role" text check ("role" in ('admin','user')) not null; - column "role" contains null values
    at Parser.parseErrorMessage (C:\dev\nodejs\nestjs\blog-api\node_modules\pg-protocol\src\parser.ts:369:69)      
    at Parser.handlePacket (C:\dev\nodejs\nestjs\blog-api\node_modules\pg-protocol\src\parser.ts:188:21)
    at Parser.parse (C:\dev\nodejs\nestjs\blog-api\node_modules\pg-protocol\src\parser.ts:103:30)
    at TLSSocket.<anonymous> (C:\dev\nodejs\nestjs\blog-api\node_modules\pg-protocol\src\index.ts:7:48)
    at TLSSocket.emit (node:events:376:20)
    at TLSSocket.EventEmitter.emit (node:domain:470:12)
    at addChunk (node:internal/streams/readable:311:12)
    at readableAddChunk (node:internal/streams/readable:286:9)
    at TLSSocket.Readable.push (node:internal/streams/readable:225:10)
    at TLSWrap.onStreamRead (node:internal/stream_base_commons:192:23) {
  length: 117,severity: 'ERROR',code: '23502',detail: undefined,hint: undefined,position: undefined,internalPosition: undefined,internalQuery: undefined,where: undefined,schema: 'public',table: 'user',column: 'role',dataType: undefined,constraint: undefined,file: 'tablecmds.c',line: '4857',routine: 'ATRewriteTable'
}

为什么迁移给我这个错误

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)