sql-server - 在没有数据库身份的情况下生成迁移
问题描述
我有多个数据库环境,我希望我的迁移文件与身份无关。
但是每次我从实体更改生成迁移时,生成的文件都会添加数据库名称和架构(在 ormconfig.json 中定义)
迁移文件中生成的示例查询行
...
await queryRunner.query(`
CREATE TABLE "db-revamp".."dataSheet" (
"id" int NOT NULL IDENTITY(1, 1),
"name" nvarchar(255) NOT NULL,
CONSTRAINT "UQ_dc57fa8cd17c5ee3967cb1c7fbb" UNIQUE ("name"),
CONSTRAINT "PK_c89d8e80116dfe42afbaab1ab0e" PRIMARY KEY ("id")
)
`);
await queryRunner.query(`
ALTER TABLE "db-revamp"."dbo"."area" DROP CONSTRAINT
"PK_1ff32ef8ca684440d59bdbea4cb"
`);
...
...
// WHAT I WANT TO ACHIEVE
await queryRunner.query(`
CREATE TABLE "dataSheet" (
"id" int NOT NULL IDENTITY(1, 1),
"name" nvarchar(255) NOT NULL,
CONSTRAINT "UQ_dc57fa8cd17c5ee3967cb1c7fbb" UNIQUE ("name"),
CONSTRAINT "PK_c89d8e80116dfe42afbaab1ab0e" PRIMARY KEY ("id")
)
`);
// WHAT I WANT TO ACHIEVE
await queryRunner.query(`
ALTER TABLE "area" DROP CONSTRAINT
"PK_1ff32ef8ca684440d59bdbea4cb"
`);
...
我的ormconfig.json
{
"type": "mssql",
"host": "db.myrevamp.com",
"port": 5050,
"username": "ultimo",
"password": "revamp",
"database": "db-revamp",
"entities": [
"dist/**/*.entity{.ts,.js}"
],
"options": {
"trustServerCertificate": true
},
"migrationsTableName": "__migrations",
"migrations": ["dist/__migration/*{.ts,.js}"],
"cli": {
"migrationsDir": "__migration"
}
}
官方文档中的示例没有解释有关此的详细信息。 https://typeorm.io/#/migrations
有没有办法实现这一点,而不是手动从生成的文件中删除身份?
我正在使用 NestJS 和 MSSQL。
解决方案
推荐阅读
- r - R人口统计学包消息长度中的read.demogdata
- javascript - 如何让 IFrame 一次重绘所有内容
- dynamics-crm - 用于合并创建线索的插件
- mysql - 使用 MYSQL 提取文本列的一部分
- bash - bash 解析空格分隔的文本文件
- apache - 当存在同名文件时,Htaccess 正在匹配目录
- excel - Vlookup 并求和一个包含逗号分隔值的单元格
- vb.net - 如何使用 DataGridView.AutoGenerateColumns = False 创建我自己的列
- python - Perforce - 创建和编辑更改列表
- python - 如何在不修改原始字符串的情况下将 .islower() 用于 if 语句