typeorm - 更改列长将删除列
问题描述
我的课:
@Entity()
export class UserMemeber extends BsEntity {
@Index({ unique: true })
@Column({
length:11
})
userId: string;
}
每当我更改长度时,typeorm 都会删除并重新创建该列,并且数据会丢失!我的设置有问题吗?如果我想在使用同步时更改长度怎么办?
解决方案
@Jared Farrish 谢谢你的回复。
我的意思是,改变列的长度。为什么要删除列?即使进行迁移,数据也会丢失。
export class article implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query("ALTER TABLE `article` DROP COLUMN `name`");//lost data
//why not this:ALTER TABLE `article` MODIFY `name` varchar(33) NOT NULL
await queryRunner.query("ALTER TABLE `article` ADD `name` varchar(25) NOT NULL");
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query("ALTER TABLE `article` DROP COLUMN `name`");
await queryRunner.query("ALTER TABLE `article` ADD `name` varchar(12) NOT NULL");//
}
}
推荐阅读
- python - Pandas - Populate an empty column
- swift - textfield to a label atumatically?
- javascript - How to add item to an Array Type property in React Hook State Object?
- postgresql - 如何在 ODBC 数据源管理器中创建多个数据源实例,每个实例使用相同的驱动程序?
- asp.net-mvc - How to handle multiple VueJS SPAs application in ASP.NET Core 3
- node.js - Is it possible to update a page for all users on it using only an express server?
- python - 玩家枪向鼠标旋转的问题 Pygame
- python - Remove default patches from plot
- python - Pandas 基于非唯一列匹配创建一个新列,连接字符串
- javascript - This in class method vs arrow function