0

我修改了我的实体并使用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', 'chief_editor', 'editor', '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'
}

为什么迁移会给我这个错误?

4

0 回答 0