Dat*_*ran 2 migration typescript typeorm
我尝试在 TypeORM 中使用迁移,如下所示:
表示例.entity.ts
@Entity({ name: 'table_example' })
export class TableExampleEntity {
constructor(properties : TableExampleInterface) {
this.id = properties.id;
}
@PrimaryColumn({
name: 'id',
type: 'uuid',
generated: 'uuid',
default: 'uuid_generate_v4()',
})
id? : string;
}
Run Code Online (Sandbox Code Playgroud)
表示例.interface.ts
export interface TableExampleInterface{
id? : string;
}
Run Code Online (Sandbox Code Playgroud)
和迁移文件
import {MigrationInterface, QueryRunner, Table} from 'typeorm';
export class createSongEntities1591077091789 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.createTable(new Table({
name: 'table_example',
columns: [
{
name: 'id',
type: 'uuid',
generationStrategy: 'uuid',
default: 'uuid_generate_v4()',
isPrimary: true,
},
],
}));
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.dropTable('table_example');
}
}
Run Code Online (Sandbox Code Playgroud)
运行迁移时,节点服务器抛出此错误堆栈跟踪
Error during migration run:
TypeError: Cannot read property 'id' of undefined
at new TableExampleEntity (...\src\entities\TableExample.entity.ts:17:34)
at EntityMetadata.create (...\src\metadata\EntityMetadata.ts:524:19)
at EntityMetadataValidator.validate (...\src\metadata-builder\EntityMetadataValidator.ts:112:47)
at ...\src\metadata-builder\EntityMetadataValidator.ts:45:56
at Array.forEach (<anonymous>)
at EntityMetadataValidator.validateMany (...\src\metadata-builder\EntityMetadataValidator.ts:45:25)
...
Run Code Online (Sandbox Code Playgroud)
这里有什么问题吗?请帮我!
| 归档时间: |
|
| 查看次数: |
5416 次 |
| 最近记录: |