@mikro-orm/mssql 6.2.9-dev.8 → 6.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/MsSqlSchemaHelper.d.ts +1 -0
- package/MsSqlSchemaHelper.js +8 -3
- package/package.json +4 -4
package/MsSqlSchemaHelper.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export declare class MsSqlSchemaHelper extends SchemaHelper {
|
|
|
10
10
|
enableForeignKeysSQL(): string;
|
|
11
11
|
getDatabaseExistsSQL(name: string): string;
|
|
12
12
|
getListTablesSQL(): string;
|
|
13
|
+
getNamespaces(connection: AbstractSqlConnection): Promise<string[]>;
|
|
13
14
|
normalizeDefaultValue(defaultValue: string, length: number, defaultValues?: Dictionary<string[]>, stripQuotes?: boolean): string | number;
|
|
14
15
|
getAllColumns(connection: AbstractSqlConnection, tables: Table[]): Promise<Dictionary<Column[]>>;
|
|
15
16
|
getAllIndexes(connection: AbstractSqlConnection, tables: Table[]): Promise<Dictionary<IndexDef[]>>;
|
package/MsSqlSchemaHelper.js
CHANGED
|
@@ -19,7 +19,7 @@ class MsSqlSchemaHelper extends knex_1.SchemaHelper {
|
|
|
19
19
|
return `exec sp_MSforeachtable 'alter table ? check constraint all';`;
|
|
20
20
|
}
|
|
21
21
|
getDatabaseExistsSQL(name) {
|
|
22
|
-
return `select 1 from
|
|
22
|
+
return `select 1 from sys.databases where name = N'${name}'`;
|
|
23
23
|
}
|
|
24
24
|
getListTablesSQL() {
|
|
25
25
|
return `select t.name as table_name, schema_name(t2.schema_id) schema_name, ep.value as table_comment
|
|
@@ -27,6 +27,11 @@ class MsSqlSchemaHelper extends knex_1.SchemaHelper {
|
|
|
27
27
|
inner join sys.tables t2 on t2.object_id = t.id
|
|
28
28
|
left join sys.extended_properties ep on ep.major_id = t.id and ep.name = 'MS_Description' and ep.minor_id = 0`;
|
|
29
29
|
}
|
|
30
|
+
async getNamespaces(connection) {
|
|
31
|
+
const sql = `select name as schema_name from sys.schemas order by name`;
|
|
32
|
+
const res = await connection.execute(sql);
|
|
33
|
+
return res.map(row => row.schema_name);
|
|
34
|
+
}
|
|
30
35
|
normalizeDefaultValue(defaultValue, length, defaultValues = {}, stripQuotes = false) {
|
|
31
36
|
let match = defaultValue?.match(/^\((.*)\)$/);
|
|
32
37
|
if (match) {
|
|
@@ -153,7 +158,7 @@ class MsSqlSchemaHelper extends knex_1.SchemaHelper {
|
|
|
153
158
|
from information_schema.constraint_column_usage ccu
|
|
154
159
|
inner join information_schema.referential_constraints rc on ccu.constraint_name = rc.constraint_name and rc.constraint_schema = ccu.constraint_schema
|
|
155
160
|
inner join information_schema.key_column_usage kcu on kcu.constraint_name = rc.unique_constraint_name and rc.unique_constraint_schema = kcu.constraint_schema
|
|
156
|
-
where (${tables.map(t => `(ccu.table_name =
|
|
161
|
+
where (${tables.map(t => `(ccu.table_name = ${this.platform.quoteValue(t.table_name)} and ccu.table_schema = '${t.schema_name}')`).join(' or ')})
|
|
157
162
|
order by kcu.table_schema, kcu.table_name, kcu.ordinal_position, kcu.constraint_name`;
|
|
158
163
|
const allFks = await connection.execute(sql);
|
|
159
164
|
const ret = {};
|
|
@@ -198,7 +203,7 @@ class MsSqlSchemaHelper extends knex_1.SchemaHelper {
|
|
|
198
203
|
from sys.check_constraints con
|
|
199
204
|
left outer join sys.objects t on con.parent_object_id = t.object_id
|
|
200
205
|
left outer join sys.all_columns col on con.parent_column_id = col.column_id and con.parent_object_id = col.object_id
|
|
201
|
-
where (${tables.map(t => `t.name =
|
|
206
|
+
where (${tables.map(t => `t.name = ${this.platform.quoteValue(t.table_name)} and schema_name(t.schema_id) = '${t.schema_name}'`).join(' or ')})
|
|
202
207
|
order by con.name`;
|
|
203
208
|
}
|
|
204
209
|
async getAllChecks(connection, tables) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mikro-orm/mssql",
|
|
3
|
-
"version": "6.2.9
|
|
3
|
+
"version": "6.2.9",
|
|
4
4
|
"description": "TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, PostgreSQL and SQLite databases as well as usage with vanilla JavaScript.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"module": "index.mjs",
|
|
@@ -58,14 +58,14 @@
|
|
|
58
58
|
"access": "public"
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
|
-
"@mikro-orm/knex": "6.2.9
|
|
61
|
+
"@mikro-orm/knex": "6.2.9",
|
|
62
62
|
"tedious": "18.2.0",
|
|
63
63
|
"tsqlstring": "1.0.1"
|
|
64
64
|
},
|
|
65
65
|
"devDependencies": {
|
|
66
|
-
"@mikro-orm/core": "^6.2.
|
|
66
|
+
"@mikro-orm/core": "^6.2.9"
|
|
67
67
|
},
|
|
68
68
|
"peerDependencies": {
|
|
69
|
-
"@mikro-orm/core": "6.
|
|
69
|
+
"@mikro-orm/core": "^6.0.0"
|
|
70
70
|
}
|
|
71
71
|
}
|