@simplysm/orm-common 13.0.100 → 14.0.1
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/dist/create-db-context.d.ts +10 -10
- package/dist/create-db-context.js +312 -276
- package/dist/create-db-context.js.map +1 -6
- package/dist/ddl/column-ddl.d.ts +4 -4
- package/dist/ddl/column-ddl.js +41 -35
- package/dist/ddl/column-ddl.js.map +1 -6
- package/dist/ddl/initialize.d.ts +17 -17
- package/dist/ddl/initialize.js +200 -142
- package/dist/ddl/initialize.js.map +1 -6
- package/dist/ddl/relation-ddl.d.ts +6 -6
- package/dist/ddl/relation-ddl.js +55 -48
- package/dist/ddl/relation-ddl.js.map +1 -6
- package/dist/ddl/schema-ddl.d.ts +4 -4
- package/dist/ddl/schema-ddl.js +21 -15
- package/dist/ddl/schema-ddl.js.map +1 -6
- package/dist/ddl/table-ddl.d.ts +20 -20
- package/dist/ddl/table-ddl.js +139 -93
- package/dist/ddl/table-ddl.js.map +1 -6
- package/dist/define-db-context.js +10 -13
- package/dist/define-db-context.js.map +1 -6
- package/dist/errors/db-transaction-error.d.ts +15 -15
- package/dist/errors/db-transaction-error.d.ts.map +1 -1
- package/dist/errors/db-transaction-error.js +53 -19
- package/dist/errors/db-transaction-error.js.map +1 -6
- package/dist/exec/executable.d.ts +23 -23
- package/dist/exec/executable.js +94 -40
- package/dist/exec/executable.js.map +1 -6
- package/dist/exec/queryable.d.ts +97 -97
- package/dist/exec/queryable.js +1310 -1204
- package/dist/exec/queryable.js.map +1 -6
- package/dist/exec/search-parser.d.ts +31 -31
- package/dist/exec/search-parser.d.ts.map +1 -1
- package/dist/exec/search-parser.js +158 -59
- package/dist/exec/search-parser.js.map +1 -6
- package/dist/expr/expr-unit.d.ts +4 -4
- package/dist/expr/expr-unit.js +24 -18
- package/dist/expr/expr-unit.js.map +1 -6
- package/dist/expr/expr.d.ts +6 -6
- package/dist/expr/expr.js +1872 -1844
- package/dist/expr/expr.js.map +1 -6
- package/dist/index.js +23 -1
- package/dist/index.js.map +1 -6
- package/dist/models/system-migration.js +7 -7
- package/dist/models/system-migration.js.map +1 -6
- package/dist/query-builder/base/expr-renderer-base.d.ts +10 -10
- package/dist/query-builder/base/expr-renderer-base.js +27 -21
- package/dist/query-builder/base/expr-renderer-base.js.map +1 -6
- package/dist/query-builder/base/query-builder-base.d.ts +21 -21
- package/dist/query-builder/base/query-builder-base.d.ts.map +1 -1
- package/dist/query-builder/base/query-builder-base.js +90 -80
- package/dist/query-builder/base/query-builder-base.js.map +1 -6
- package/dist/query-builder/mssql/mssql-expr-renderer.d.ts +4 -4
- package/dist/query-builder/mssql/mssql-expr-renderer.d.ts.map +1 -1
- package/dist/query-builder/mssql/mssql-expr-renderer.js +447 -420
- package/dist/query-builder/mssql/mssql-expr-renderer.js.map +1 -6
- package/dist/query-builder/mssql/mssql-query-builder.js +483 -443
- package/dist/query-builder/mssql/mssql-query-builder.js.map +1 -6
- package/dist/query-builder/mysql/mysql-expr-renderer.d.ts +4 -4
- package/dist/query-builder/mysql/mysql-expr-renderer.d.ts.map +1 -1
- package/dist/query-builder/mysql/mysql-expr-renderer.js +451 -419
- package/dist/query-builder/mysql/mysql-expr-renderer.js.map +1 -6
- package/dist/query-builder/mysql/mysql-query-builder.js +570 -479
- package/dist/query-builder/mysql/mysql-query-builder.js.map +1 -6
- package/dist/query-builder/postgresql/postgresql-expr-renderer.d.ts +4 -4
- package/dist/query-builder/postgresql/postgresql-expr-renderer.d.ts.map +1 -1
- package/dist/query-builder/postgresql/postgresql-expr-renderer.js +449 -422
- package/dist/query-builder/postgresql/postgresql-expr-renderer.js.map +1 -6
- package/dist/query-builder/postgresql/postgresql-query-builder.js +511 -460
- package/dist/query-builder/postgresql/postgresql-query-builder.js.map +1 -6
- package/dist/query-builder/query-builder.d.ts +1 -1
- package/dist/query-builder/query-builder.js +13 -13
- package/dist/query-builder/query-builder.js.map +1 -6
- package/dist/schema/factory/column-builder.d.ts +84 -84
- package/dist/schema/factory/column-builder.js +248 -185
- package/dist/schema/factory/column-builder.js.map +1 -6
- package/dist/schema/factory/index-builder.d.ts +38 -38
- package/dist/schema/factory/index-builder.js +144 -85
- package/dist/schema/factory/index-builder.js.map +1 -6
- package/dist/schema/factory/relation-builder.d.ts +91 -91
- package/dist/schema/factory/relation-builder.d.ts.map +1 -1
- package/dist/schema/factory/relation-builder.js +274 -136
- package/dist/schema/factory/relation-builder.js.map +1 -6
- package/dist/schema/procedure-builder.d.ts +51 -51
- package/dist/schema/procedure-builder.d.ts.map +1 -1
- package/dist/schema/procedure-builder.js +205 -131
- package/dist/schema/procedure-builder.js.map +1 -6
- package/dist/schema/table-builder.d.ts +55 -55
- package/dist/schema/table-builder.d.ts.map +1 -1
- package/dist/schema/table-builder.js +274 -205
- package/dist/schema/table-builder.js.map +1 -6
- package/dist/schema/view-builder.d.ts +44 -44
- package/dist/schema/view-builder.d.ts.map +1 -1
- package/dist/schema/view-builder.js +189 -116
- package/dist/schema/view-builder.js.map +1 -6
- package/dist/types/column.js +60 -30
- package/dist/types/column.js.map +1 -6
- package/dist/types/db-context-def.d.ts +9 -9
- package/dist/types/db-context-def.js +2 -1
- package/dist/types/db-context-def.js.map +1 -6
- package/dist/types/db.d.ts +47 -47
- package/dist/types/db.js +15 -5
- package/dist/types/db.js.map +1 -6
- package/dist/types/expr.d.ts +81 -81
- package/dist/types/expr.d.ts.map +1 -1
- package/dist/types/expr.js +3 -1
- package/dist/types/expr.js.map +1 -6
- package/dist/types/query-def.d.ts +46 -46
- package/dist/types/query-def.d.ts.map +1 -1
- package/dist/types/query-def.js +31 -24
- package/dist/types/query-def.js.map +1 -6
- package/dist/utils/result-parser.js +362 -221
- package/dist/utils/result-parser.js.map +1 -6
- package/package.json +5 -7
- package/src/create-db-context.ts +31 -31
- package/src/ddl/column-ddl.ts +4 -4
- package/src/ddl/initialize.ts +38 -38
- package/src/ddl/relation-ddl.ts +6 -6
- package/src/ddl/schema-ddl.ts +4 -4
- package/src/ddl/table-ddl.ts +24 -24
- package/src/errors/db-transaction-error.ts +13 -13
- package/src/exec/executable.ts +25 -25
- package/src/exec/queryable.ts +134 -134
- package/src/exec/search-parser.ts +50 -50
- package/src/expr/expr-unit.ts +4 -4
- package/src/expr/expr.ts +13 -13
- package/src/index.ts +8 -8
- package/src/models/system-migration.ts +1 -1
- package/src/query-builder/base/expr-renderer-base.ts +21 -21
- package/src/query-builder/base/query-builder-base.ts +33 -33
- package/src/query-builder/mssql/mssql-expr-renderer.ts +11 -11
- package/src/query-builder/mssql/mssql-query-builder.ts +11 -11
- package/src/query-builder/mysql/mysql-expr-renderer.ts +15 -15
- package/src/query-builder/mysql/mysql-query-builder.ts +3 -3
- package/src/query-builder/postgresql/postgresql-expr-renderer.ts +9 -9
- package/src/query-builder/postgresql/postgresql-query-builder.ts +7 -7
- package/src/query-builder/query-builder.ts +1 -1
- package/src/schema/factory/column-builder.ts +86 -86
- package/src/schema/factory/index-builder.ts +38 -38
- package/src/schema/factory/relation-builder.ts +93 -93
- package/src/schema/procedure-builder.ts +52 -52
- package/src/schema/table-builder.ts +56 -56
- package/src/schema/view-builder.ts +45 -45
- package/src/types/column.ts +1 -1
- package/src/types/db-context-def.ts +15 -15
- package/src/types/db.ts +50 -50
- package/src/types/expr.ts +103 -103
- package/src/types/query-def.ts +50 -50
- package/src/utils/result-parser.ts +39 -39
- package/README.md +0 -192
- package/docs/core.md +0 -234
- package/docs/expression.md +0 -234
- package/docs/query-builder.md +0 -93
- package/docs/queryable.md +0 -198
- package/docs/schema-builders.md +0 -463
- package/docs/types.md +0 -445
- package/docs/utilities.md +0 -27
- package/tests/db-context/create-db-context.spec.ts +0 -193
- package/tests/db-context/define-db-context.spec.ts +0 -17
- package/tests/ddl/basic.expected.ts +0 -341
- package/tests/ddl/basic.spec.ts +0 -557
- package/tests/ddl/column-builder.expected.ts +0 -310
- package/tests/ddl/column-builder.spec.ts +0 -525
- package/tests/ddl/index-builder.expected.ts +0 -38
- package/tests/ddl/index-builder.spec.ts +0 -148
- package/tests/ddl/procedure-builder.expected.ts +0 -52
- package/tests/ddl/procedure-builder.spec.ts +0 -128
- package/tests/ddl/relation-builder.expected.ts +0 -36
- package/tests/ddl/relation-builder.spec.ts +0 -171
- package/tests/ddl/table-builder.expected.ts +0 -113
- package/tests/ddl/table-builder.spec.ts +0 -399
- package/tests/ddl/view-builder.expected.ts +0 -38
- package/tests/ddl/view-builder.spec.ts +0 -116
- package/tests/dml/delete.expected.ts +0 -96
- package/tests/dml/delete.spec.ts +0 -127
- package/tests/dml/insert.expected.ts +0 -192
- package/tests/dml/insert.spec.ts +0 -210
- package/tests/dml/update.expected.ts +0 -176
- package/tests/dml/update.spec.ts +0 -222
- package/tests/dml/upsert.expected.ts +0 -215
- package/tests/dml/upsert.spec.ts +0 -190
- package/tests/errors/queryable-errors.spec.ts +0 -126
- package/tests/escape.spec.ts +0 -59
- package/tests/examples/pivot.expected.ts +0 -211
- package/tests/examples/pivot.spec.ts +0 -200
- package/tests/examples/sampling.expected.ts +0 -69
- package/tests/examples/sampling.spec.ts +0 -42
- package/tests/examples/unpivot.expected.ts +0 -120
- package/tests/examples/unpivot.spec.ts +0 -161
- package/tests/exec/search-parser.spec.ts +0 -267
- package/tests/executable/basic.expected.ts +0 -18
- package/tests/executable/basic.spec.ts +0 -54
- package/tests/expr/comparison.expected.ts +0 -282
- package/tests/expr/comparison.spec.ts +0 -334
- package/tests/expr/conditional.expected.ts +0 -134
- package/tests/expr/conditional.spec.ts +0 -249
- package/tests/expr/date.expected.ts +0 -332
- package/tests/expr/date.spec.ts +0 -459
- package/tests/expr/math.expected.ts +0 -62
- package/tests/expr/math.spec.ts +0 -59
- package/tests/expr/string.expected.ts +0 -218
- package/tests/expr/string.spec.ts +0 -300
- package/tests/expr/utility.expected.ts +0 -147
- package/tests/expr/utility.spec.ts +0 -155
- package/tests/select/basic.expected.ts +0 -322
- package/tests/select/basic.spec.ts +0 -433
- package/tests/select/filter.expected.ts +0 -357
- package/tests/select/filter.spec.ts +0 -954
- package/tests/select/group.expected.ts +0 -169
- package/tests/select/group.spec.ts +0 -159
- package/tests/select/join.expected.ts +0 -582
- package/tests/select/join.spec.ts +0 -692
- package/tests/select/order.expected.ts +0 -150
- package/tests/select/order.spec.ts +0 -140
- package/tests/select/recursive-cte.expected.ts +0 -244
- package/tests/select/recursive-cte.spec.ts +0 -514
- package/tests/select/result-meta.spec.ts +0 -270
- package/tests/select/subquery.expected.ts +0 -363
- package/tests/select/subquery.spec.ts +0 -441
- package/tests/select/view.expected.ts +0 -155
- package/tests/select/view.spec.ts +0 -235
- package/tests/select/window.expected.ts +0 -345
- package/tests/select/window.spec.ts +0 -433
- package/tests/setup/MockExecutor.ts +0 -18
- package/tests/setup/TestDbContext.ts +0 -59
- package/tests/setup/models/Company.ts +0 -13
- package/tests/setup/models/Employee.ts +0 -10
- package/tests/setup/models/MonthlySales.ts +0 -11
- package/tests/setup/models/Post.ts +0 -16
- package/tests/setup/models/Sales.ts +0 -10
- package/tests/setup/models/User.ts +0 -19
- package/tests/setup/procedure/GetAllUsers.ts +0 -9
- package/tests/setup/procedure/GetUserById.ts +0 -12
- package/tests/setup/test-utils.ts +0 -72
- package/tests/setup/views/ActiveUsers.ts +0 -8
- package/tests/setup/views/UserSummary.ts +0 -11
- package/tests/types/nullable-queryable-record.spec.ts +0 -97
- package/tests/utils/result-parser-perf.spec.ts +0 -143
- package/tests/utils/result-parser.spec.ts +0 -667
|
@@ -1,341 +0,0 @@
|
|
|
1
|
-
import { mysql, pgsql, tsql } from "@simplysm/core-common";
|
|
2
|
-
import type { ExpectedSql } from "../setup/test-utils";
|
|
3
|
-
|
|
4
|
-
//#region ========== Database ==========
|
|
5
|
-
|
|
6
|
-
export const clearSchema: ExpectedSql = {
|
|
7
|
-
mysql: mysql`
|
|
8
|
-
SET FOREIGN_KEY_CHECKS = 0;
|
|
9
|
-
SET @tables = NULL;
|
|
10
|
-
SELECT GROUP_CONCAT(table_name) INTO @tables FROM information_schema.tables WHERE table_schema = 'TestDb';
|
|
11
|
-
SET @drop_stmt = IF(@tables IS NULL, 'SELECT 1', CONCAT('DROP TABLE IF EXISTS ', @tables));
|
|
12
|
-
PREPARE stmt FROM @drop_stmt;
|
|
13
|
-
EXECUTE stmt;
|
|
14
|
-
DEALLOCATE PREPARE stmt;
|
|
15
|
-
SET FOREIGN_KEY_CHECKS = 1
|
|
16
|
-
`,
|
|
17
|
-
mssql: tsql`
|
|
18
|
-
DECLARE @sql NVARCHAR(MAX);
|
|
19
|
-
SET @sql = N'';
|
|
20
|
-
|
|
21
|
-
-- Drop FK constraints
|
|
22
|
-
SELECT @sql = @sql + N'ALTER TABLE ' + QUOTENAME(OBJECT_SCHEMA_NAME(parent_object_id)) + '.' + QUOTENAME(OBJECT_NAME(parent_object_id)) + N' DROP CONSTRAINT ' + QUOTENAME(name) + N';' + CHAR(13)
|
|
23
|
-
FROM [TestDb].sys.foreign_keys
|
|
24
|
-
WHERE OBJECT_SCHEMA_NAME(parent_object_id) = 'TestSchema';
|
|
25
|
-
|
|
26
|
-
-- Drop tables
|
|
27
|
-
SELECT @sql = @sql + N'DROP TABLE ' + QUOTENAME(SCHEMA_NAME(schema_id)) + '.' + QUOTENAME(name) + N';' + CHAR(13)
|
|
28
|
-
FROM [TestDb].sys.tables
|
|
29
|
-
WHERE SCHEMA_NAME(schema_id) = 'TestSchema';
|
|
30
|
-
|
|
31
|
-
-- Drop views
|
|
32
|
-
SELECT @sql = @sql + N'DROP VIEW ' + QUOTENAME(SCHEMA_NAME(schema_id)) + '.' + QUOTENAME(name) + N';' + CHAR(13)
|
|
33
|
-
FROM [TestDb].sys.views
|
|
34
|
-
WHERE schema_id = SCHEMA_ID('TestSchema');
|
|
35
|
-
|
|
36
|
-
-- Drop procedures
|
|
37
|
-
SELECT @sql = @sql + N'DROP PROCEDURE ' + QUOTENAME(SCHEMA_NAME(schema_id)) + '.' + QUOTENAME(name) + N';' + CHAR(13)
|
|
38
|
-
FROM [TestDb].sys.procedures
|
|
39
|
-
WHERE SCHEMA_NAME(schema_id) = 'TestSchema';
|
|
40
|
-
|
|
41
|
-
EXEC sp_executesql @sql;
|
|
42
|
-
`,
|
|
43
|
-
postgresql: pgsql`
|
|
44
|
-
DO $$
|
|
45
|
-
DECLARE
|
|
46
|
-
r RECORD;
|
|
47
|
-
BEGIN
|
|
48
|
-
-- Drop FK constraints
|
|
49
|
-
FOR r IN (SELECT conname, conrelid::regclass AS tablename
|
|
50
|
-
FROM pg_constraint
|
|
51
|
-
WHERE contype = 'f' AND connamespace = 'TestSchema'::regnamespace)
|
|
52
|
-
LOOP
|
|
53
|
-
EXECUTE 'ALTER TABLE ' || r.tablename || ' DROP CONSTRAINT ' || quote_ident(r.conname);
|
|
54
|
-
END LOOP;
|
|
55
|
-
|
|
56
|
-
-- Drop tables
|
|
57
|
-
FOR r IN (SELECT tablename FROM pg_tables WHERE schemaname = 'TestSchema')
|
|
58
|
-
LOOP
|
|
59
|
-
EXECUTE 'DROP TABLE IF EXISTS ' || quote_ident(r.tablename) || ' CASCADE';
|
|
60
|
-
END LOOP;
|
|
61
|
-
|
|
62
|
-
-- Drop views
|
|
63
|
-
FOR r IN (SELECT viewname FROM pg_views WHERE schemaname = 'TestSchema')
|
|
64
|
-
LOOP
|
|
65
|
-
EXECUTE 'DROP VIEW IF EXISTS ' || quote_ident(r.viewname) || ' CASCADE';
|
|
66
|
-
END LOOP;
|
|
67
|
-
|
|
68
|
-
-- Drop functions
|
|
69
|
-
FOR r IN (SELECT proname, pg_get_function_identity_arguments(oid) AS args
|
|
70
|
-
FROM pg_proc WHERE pronamespace = 'TestSchema'::regnamespace)
|
|
71
|
-
LOOP
|
|
72
|
-
EXECUTE 'DROP FUNCTION IF EXISTS ' || quote_ident(r.proname) || '(' || r.args || ') CASCADE';
|
|
73
|
-
END LOOP;
|
|
74
|
-
END $$
|
|
75
|
-
`,
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
export const schemaExists: ExpectedSql = {
|
|
79
|
-
mysql: mysql`SELECT SCHEMA_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = 'TestDb'`,
|
|
80
|
-
mssql: tsql`
|
|
81
|
-
DECLARE @result NVARCHAR(MAX) = NULL;
|
|
82
|
-
IF EXISTS (SELECT 1 FROM sys.databases WHERE name = 'TestDb')
|
|
83
|
-
BEGIN
|
|
84
|
-
DECLARE @sql NVARCHAR(MAX) = N'SELECT @result = name FROM ' + QUOTENAME('TestDb') + N'.sys.schemas WHERE name = ''TestSchema''';
|
|
85
|
-
EXEC sp_executesql @sql, N'@result NVARCHAR(MAX) OUTPUT', @result OUTPUT;
|
|
86
|
-
END
|
|
87
|
-
SELECT @result AS name WHERE @result IS NOT NULL
|
|
88
|
-
`,
|
|
89
|
-
postgresql: pgsql`SELECT nspname FROM pg_namespace WHERE nspname = 'TestSchema'`,
|
|
90
|
-
};
|
|
91
|
-
|
|
92
|
-
//#endregion
|
|
93
|
-
|
|
94
|
-
//#region ========== Table ==========
|
|
95
|
-
|
|
96
|
-
export const createTable: ExpectedSql = {
|
|
97
|
-
mysql: mysql`
|
|
98
|
-
CREATE TABLE \`TestDb\`.\`User\` (
|
|
99
|
-
\`id\` BIGINT NOT NULL AUTO_INCREMENT,
|
|
100
|
-
\`name\` VARCHAR(100) NOT NULL,
|
|
101
|
-
\`email\` VARCHAR(200) NULL,
|
|
102
|
-
\`age\` INT NULL,
|
|
103
|
-
\`isActive\` BOOLEAN NOT NULL DEFAULT TRUE,
|
|
104
|
-
\`companyId\` BIGINT NULL,
|
|
105
|
-
\`createdAt\` DATETIME NOT NULL,
|
|
106
|
-
CONSTRAINT \`PK_User\` PRIMARY KEY (\`id\`)
|
|
107
|
-
)
|
|
108
|
-
`,
|
|
109
|
-
mssql: tsql`
|
|
110
|
-
CREATE TABLE [TestDb].[TestSchema].[User] (
|
|
111
|
-
[id] BIGINT NOT NULL IDENTITY(1,1),
|
|
112
|
-
[name] NVARCHAR(100) NOT NULL,
|
|
113
|
-
[email] NVARCHAR(200) NULL,
|
|
114
|
-
[age] INT NULL,
|
|
115
|
-
[isActive] BIT NOT NULL DEFAULT 1,
|
|
116
|
-
[companyId] BIGINT NULL,
|
|
117
|
-
[createdAt] DATETIME2 NOT NULL,
|
|
118
|
-
CONSTRAINT [PK_User] PRIMARY KEY ([id])
|
|
119
|
-
)
|
|
120
|
-
`,
|
|
121
|
-
postgresql: pgsql`
|
|
122
|
-
CREATE TABLE "TestSchema"."User" (
|
|
123
|
-
"id" BIGINT NOT NULL GENERATED BY DEFAULT AS IDENTITY,
|
|
124
|
-
"name" VARCHAR(100) NOT NULL,
|
|
125
|
-
"email" VARCHAR(200) NULL,
|
|
126
|
-
"age" INTEGER NULL,
|
|
127
|
-
"isActive" BOOLEAN NOT NULL DEFAULT TRUE,
|
|
128
|
-
"companyId" BIGINT NULL,
|
|
129
|
-
"createdAt" TIMESTAMP NOT NULL,
|
|
130
|
-
CONSTRAINT "PK_User" PRIMARY KEY ("id")
|
|
131
|
-
)
|
|
132
|
-
`,
|
|
133
|
-
};
|
|
134
|
-
|
|
135
|
-
export const truncate: ExpectedSql = {
|
|
136
|
-
mysql: mysql`TRUNCATE TABLE \`TestDb\`.\`User\``,
|
|
137
|
-
mssql: tsql`TRUNCATE TABLE [TestDb].[TestSchema].[User]`,
|
|
138
|
-
postgresql: pgsql`TRUNCATE TABLE "TestSchema"."User" RESTART IDENTITY`,
|
|
139
|
-
};
|
|
140
|
-
|
|
141
|
-
export const switchFkOn: ExpectedSql = {
|
|
142
|
-
mysql: mysql`SET FOREIGN_KEY_CHECKS = 1`,
|
|
143
|
-
mssql: tsql`ALTER TABLE [TestDb].[TestSchema].[User] WITH CHECK CHECK CONSTRAINT ALL`,
|
|
144
|
-
postgresql: pgsql`ALTER TABLE "TestSchema"."User" ENABLE TRIGGER ALL`,
|
|
145
|
-
};
|
|
146
|
-
|
|
147
|
-
export const switchFkOff: ExpectedSql = {
|
|
148
|
-
mysql: mysql`SET FOREIGN_KEY_CHECKS = 0`,
|
|
149
|
-
mssql: tsql`ALTER TABLE [TestDb].[TestSchema].[User] NOCHECK CONSTRAINT ALL`,
|
|
150
|
-
postgresql: pgsql`ALTER TABLE "TestSchema"."User" DISABLE TRIGGER ALL`,
|
|
151
|
-
};
|
|
152
|
-
|
|
153
|
-
export const dropTable: ExpectedSql = {
|
|
154
|
-
mysql: mysql`DROP TABLE \`TestDb\`.\`User\``,
|
|
155
|
-
mssql: tsql`DROP TABLE [TestDb].[TestSchema].[User]`,
|
|
156
|
-
postgresql: pgsql`DROP TABLE "TestSchema"."User"`,
|
|
157
|
-
};
|
|
158
|
-
|
|
159
|
-
export const renameTable: ExpectedSql = {
|
|
160
|
-
mysql: mysql`RENAME TABLE \`TestDb\`.\`User\` TO \`Member\``,
|
|
161
|
-
mssql: tsql`EXEC sp_rename '[TestDb].[TestSchema].[User]', 'Member'`,
|
|
162
|
-
postgresql: pgsql`ALTER TABLE "TestSchema"."User" RENAME TO "Member"`,
|
|
163
|
-
};
|
|
164
|
-
|
|
165
|
-
//#endregion
|
|
166
|
-
|
|
167
|
-
//#region ========== Column ==========
|
|
168
|
-
|
|
169
|
-
export const addColumn: ExpectedSql = {
|
|
170
|
-
mysql: mysql`ALTER TABLE \`TestDb\`.\`User\` ADD COLUMN \`nickname\` VARCHAR(50) NULL`,
|
|
171
|
-
mssql: tsql`ALTER TABLE [TestDb].[TestSchema].[User] ADD [nickname] NVARCHAR(50) NULL`,
|
|
172
|
-
postgresql: pgsql`ALTER TABLE "TestSchema"."User" ADD COLUMN "nickname" VARCHAR(50) NULL`,
|
|
173
|
-
};
|
|
174
|
-
|
|
175
|
-
export const addColumnWithDefault: ExpectedSql = {
|
|
176
|
-
mysql: mysql`ALTER TABLE \`TestDb\`.\`User\` ADD COLUMN \`score\` INT NOT NULL DEFAULT 0`,
|
|
177
|
-
mssql: tsql`ALTER TABLE [TestDb].[TestSchema].[User] ADD [score] INT NOT NULL DEFAULT 0`,
|
|
178
|
-
postgresql: pgsql`ALTER TABLE "TestSchema"."User" ADD COLUMN "score" INTEGER NOT NULL DEFAULT 0`,
|
|
179
|
-
};
|
|
180
|
-
|
|
181
|
-
export const addColumnWithAutoIncrement: ExpectedSql = {
|
|
182
|
-
mysql: mysql`ALTER TABLE \`TestDb\`.\`User\` ADD COLUMN \`seq\` BIGINT NOT NULL AUTO_INCREMENT`,
|
|
183
|
-
mssql: tsql`ALTER TABLE [TestDb].[TestSchema].[User] ADD [seq] BIGINT NOT NULL IDENTITY(1,1)`,
|
|
184
|
-
postgresql: pgsql`ALTER TABLE "TestSchema"."User" ADD COLUMN "seq" BIGINT NOT NULL GENERATED BY DEFAULT AS IDENTITY`,
|
|
185
|
-
};
|
|
186
|
-
|
|
187
|
-
export const dropColumn: ExpectedSql = {
|
|
188
|
-
mysql: mysql`ALTER TABLE \`TestDb\`.\`User\` DROP COLUMN \`email\``,
|
|
189
|
-
mssql: tsql`ALTER TABLE [TestDb].[TestSchema].[User] DROP COLUMN [email]`,
|
|
190
|
-
postgresql: pgsql`ALTER TABLE "TestSchema"."User" DROP COLUMN "email"`,
|
|
191
|
-
};
|
|
192
|
-
|
|
193
|
-
export const modifyColumn: ExpectedSql = {
|
|
194
|
-
mysql: mysql`ALTER TABLE \`TestDb\`.\`User\` MODIFY COLUMN \`name\` VARCHAR(200) NULL`,
|
|
195
|
-
mssql: tsql`ALTER TABLE [TestDb].[TestSchema].[User] ALTER COLUMN [name] NVARCHAR(200) NULL`,
|
|
196
|
-
postgresql: pgsql`ALTER TABLE "TestSchema"."User" ALTER COLUMN "name" TYPE VARCHAR(200), ALTER COLUMN "name" DROP NOT NULL`,
|
|
197
|
-
};
|
|
198
|
-
|
|
199
|
-
export const modifyColumnTypeAndDefault: ExpectedSql = {
|
|
200
|
-
mysql: mysql`ALTER TABLE \`TestDb\`.\`User\` MODIFY COLUMN \`score\` INT NOT NULL DEFAULT 100`,
|
|
201
|
-
mssql: tsql`ALTER TABLE [TestDb].[TestSchema].[User] ALTER COLUMN [score] INT NOT NULL`,
|
|
202
|
-
postgresql: pgsql`ALTER TABLE "TestSchema"."User" ALTER COLUMN "score" TYPE INTEGER, ALTER COLUMN "score" DROP NOT NULL, ALTER COLUMN "score" SET DEFAULT 100`,
|
|
203
|
-
};
|
|
204
|
-
|
|
205
|
-
export const renameColumn: ExpectedSql = {
|
|
206
|
-
mysql: mysql`ALTER TABLE \`TestDb\`.\`User\` RENAME COLUMN \`name\` TO \`fullName\``,
|
|
207
|
-
mssql: tsql`EXEC sp_rename '[TestDb].[TestSchema].[User].name', 'fullName', 'COLUMN'`,
|
|
208
|
-
postgresql: pgsql`ALTER TABLE "TestSchema"."User" RENAME COLUMN "name" TO "fullName"`,
|
|
209
|
-
};
|
|
210
|
-
|
|
211
|
-
//#endregion
|
|
212
|
-
|
|
213
|
-
//#region ========== Primary Key ==========
|
|
214
|
-
|
|
215
|
-
export const dropPrimaryKey: ExpectedSql = {
|
|
216
|
-
mysql: mysql`ALTER TABLE \`TestDb\`.\`User\` DROP PRIMARY KEY`,
|
|
217
|
-
mssql: tsql`ALTER TABLE [TestDb].[TestSchema].[User] DROP CONSTRAINT [PK_User]`,
|
|
218
|
-
postgresql: pgsql`ALTER TABLE "TestSchema"."User" DROP CONSTRAINT "PK_User"`,
|
|
219
|
-
};
|
|
220
|
-
|
|
221
|
-
export const addPrimaryKey: ExpectedSql = {
|
|
222
|
-
mysql: mysql`ALTER TABLE \`TestDb\`.\`User\` ADD PRIMARY KEY (\`id\`)`,
|
|
223
|
-
mssql: tsql`ALTER TABLE [TestDb].[TestSchema].[User] ADD CONSTRAINT [PK_User] PRIMARY KEY ([id])`,
|
|
224
|
-
postgresql: pgsql`ALTER TABLE "TestSchema"."User" ADD CONSTRAINT "PK_User" PRIMARY KEY ("id")`,
|
|
225
|
-
};
|
|
226
|
-
|
|
227
|
-
export const addPrimaryKeyComposite: ExpectedSql = {
|
|
228
|
-
mysql: mysql`ALTER TABLE \`TestDb\`.\`UserRole\` ADD PRIMARY KEY (\`userId\`, \`roleId\`)`,
|
|
229
|
-
mssql: tsql`ALTER TABLE [TestDb].[TestSchema].[UserRole] ADD CONSTRAINT [PK_UserRole] PRIMARY KEY ([userId], [roleId])`,
|
|
230
|
-
postgresql: pgsql`ALTER TABLE "TestSchema"."UserRole" ADD CONSTRAINT "PK_UserRole" PRIMARY KEY ("userId", "roleId")`,
|
|
231
|
-
};
|
|
232
|
-
|
|
233
|
-
//#endregion
|
|
234
|
-
|
|
235
|
-
//#region ========== Foreign Key / Index ==========
|
|
236
|
-
|
|
237
|
-
export const addForeignKey: ExpectedSql = {
|
|
238
|
-
mysql: mysql`
|
|
239
|
-
ALTER TABLE \`TestDb\`.\`Post\` ADD CONSTRAINT \`FK_Post_user\`
|
|
240
|
-
FOREIGN KEY (\`userId\`) REFERENCES \`TestDb\`.\`User\` (\`id\`)
|
|
241
|
-
`,
|
|
242
|
-
mssql: tsql`
|
|
243
|
-
ALTER TABLE [TestDb].[TestSchema].[Post] ADD CONSTRAINT [FK_Post_user]
|
|
244
|
-
FOREIGN KEY ([userId]) REFERENCES [TestDb].[TestSchema].[User] ([id]);
|
|
245
|
-
CREATE INDEX [IDX_Post_Post_user] ON [TestDb].[TestSchema].[Post] ([userId]);
|
|
246
|
-
`,
|
|
247
|
-
postgresql: pgsql`
|
|
248
|
-
ALTER TABLE "TestSchema"."Post" ADD CONSTRAINT "FK_Post_user"
|
|
249
|
-
FOREIGN KEY ("userId") REFERENCES "TestSchema"."User" ("id");
|
|
250
|
-
CREATE INDEX "IDX_Post_Post_user" ON "TestSchema"."Post" ("userId");
|
|
251
|
-
`,
|
|
252
|
-
};
|
|
253
|
-
|
|
254
|
-
export const dropForeignKey: ExpectedSql = {
|
|
255
|
-
mysql: mysql`ALTER TABLE \`TestDb\`.\`Post\` DROP FOREIGN KEY \`FK_Post_user\``,
|
|
256
|
-
mssql: tsql`ALTER TABLE [TestDb].[TestSchema].[Post] DROP CONSTRAINT [FK_Post_user]`,
|
|
257
|
-
postgresql: pgsql`ALTER TABLE "TestSchema"."Post" DROP CONSTRAINT "FK_Post_user"`,
|
|
258
|
-
};
|
|
259
|
-
|
|
260
|
-
export const addIndex: ExpectedSql = {
|
|
261
|
-
mysql: mysql`CREATE UNIQUE INDEX \`IDX_User_email\` ON \`TestDb\`.\`User\` (\`email\` ASC)`,
|
|
262
|
-
mssql: tsql`CREATE UNIQUE INDEX [IDX_User_email] ON [TestDb].[TestSchema].[User] ([email] ASC)`,
|
|
263
|
-
postgresql: pgsql`CREATE UNIQUE INDEX "IDX_User_email" ON "TestSchema"."User" ("email" ASC)`,
|
|
264
|
-
};
|
|
265
|
-
|
|
266
|
-
export const dropIndex: ExpectedSql = {
|
|
267
|
-
mysql: mysql`DROP INDEX \`IDX_User_email\` ON \`TestDb\`.\`User\``,
|
|
268
|
-
mssql: tsql`DROP INDEX [IDX_User_email] ON [TestDb].[TestSchema].[User]`,
|
|
269
|
-
postgresql: pgsql`DROP INDEX "TestSchema"."IDX_User_email"`,
|
|
270
|
-
};
|
|
271
|
-
|
|
272
|
-
export const dropIndexComposite: ExpectedSql = {
|
|
273
|
-
mysql: mysql`DROP INDEX \`IDX_User_name_email\` ON \`TestDb\`.\`User\``,
|
|
274
|
-
mssql: tsql`DROP INDEX [IDX_User_name_email] ON [TestDb].[TestSchema].[User]`,
|
|
275
|
-
postgresql: pgsql`DROP INDEX "TestSchema"."IDX_User_name_email"`,
|
|
276
|
-
};
|
|
277
|
-
|
|
278
|
-
//#endregion
|
|
279
|
-
|
|
280
|
-
//#region ========== View ==========
|
|
281
|
-
|
|
282
|
-
export const createView: ExpectedSql = {
|
|
283
|
-
mysql: mysql`
|
|
284
|
-
CREATE OR REPLACE VIEW \`TestDb\`.\`ActiveUsers\` AS
|
|
285
|
-
SELECT * FROM \`TestDb\`.\`User\` AS \`T1\`
|
|
286
|
-
WHERE \`T1\`.\`isActive\` <=> TRUE
|
|
287
|
-
`,
|
|
288
|
-
mssql: tsql`
|
|
289
|
-
CREATE OR ALTER VIEW [TestDb].[TestSchema].[ActiveUsers] AS
|
|
290
|
-
SELECT * FROM [TestDb].[TestSchema].[User] AS [T1]
|
|
291
|
-
WHERE (([T1].[isActive] IS NULL AND 1 IS NULL) OR [T1].[isActive] = 1)
|
|
292
|
-
`,
|
|
293
|
-
postgresql: pgsql`
|
|
294
|
-
CREATE OR REPLACE VIEW "TestSchema"."ActiveUsers" AS
|
|
295
|
-
SELECT * FROM "TestSchema"."User" AS "T1"
|
|
296
|
-
WHERE "T1"."isActive" IS NOT DISTINCT FROM TRUE
|
|
297
|
-
`,
|
|
298
|
-
};
|
|
299
|
-
|
|
300
|
-
export const dropView: ExpectedSql = {
|
|
301
|
-
mysql: mysql`DROP VIEW IF EXISTS \`TestDb\`.\`ActiveUsers\``,
|
|
302
|
-
mssql: tsql`DROP VIEW IF EXISTS [TestDb].[TestSchema].[ActiveUsers]`,
|
|
303
|
-
postgresql: pgsql`DROP VIEW IF EXISTS "TestSchema"."ActiveUsers"`,
|
|
304
|
-
};
|
|
305
|
-
|
|
306
|
-
//#endregion
|
|
307
|
-
|
|
308
|
-
//#region ========== Procedure ==========
|
|
309
|
-
|
|
310
|
-
export const createProc: ExpectedSql = {
|
|
311
|
-
mysql: mysql`
|
|
312
|
-
CREATE PROCEDURE \`TestDb\`.\`GetUserById\`(IN \`userId\` BIGINT)
|
|
313
|
-
BEGIN
|
|
314
|
-
-- DBMSwrite matching query --;
|
|
315
|
-
END
|
|
316
|
-
`,
|
|
317
|
-
mssql: tsql`
|
|
318
|
-
CREATE OR ALTER PROCEDURE [TestDb].[TestSchema].[GetUserById] @userId BIGINT
|
|
319
|
-
AS
|
|
320
|
-
BEGIN
|
|
321
|
-
SET NOCOUNT ON;
|
|
322
|
-
-- DBMSwrite matching query --
|
|
323
|
-
END
|
|
324
|
-
`,
|
|
325
|
-
postgresql: pgsql`
|
|
326
|
-
CREATE OR REPLACE FUNCTION "TestSchema"."GetUserById"("userId" BIGINT)
|
|
327
|
-
RETURNS TABLE("id" BIGINT, "name" VARCHAR(100), "email" VARCHAR(200)) AS $$
|
|
328
|
-
BEGIN
|
|
329
|
-
-- DBMSwrite matching query --;
|
|
330
|
-
END;
|
|
331
|
-
$$ LANGUAGE plpgsql
|
|
332
|
-
`,
|
|
333
|
-
};
|
|
334
|
-
|
|
335
|
-
export const dropProc: ExpectedSql = {
|
|
336
|
-
mysql: mysql`DROP PROCEDURE IF EXISTS \`TestDb\`.\`GetUserById\``,
|
|
337
|
-
mssql: tsql`DROP PROCEDURE IF EXISTS [TestDb].[TestSchema].[GetUserById]`,
|
|
338
|
-
postgresql: pgsql`DROP FUNCTION IF EXISTS "TestSchema"."GetUserById"()`,
|
|
339
|
-
};
|
|
340
|
-
|
|
341
|
-
//#endregion
|