@contember/schema-migrations 1.3.0-alpha.7 → 1.3.0-alpha.8
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/src/MigrationDescriber.d.ts +4 -4
- package/dist/src/MigrationDescriber.d.ts.map +1 -1
- package/dist/src/MigrationDescriber.js +8 -7
- package/dist/src/MigrationDescriber.js.map +1 -1
- package/dist/src/SchemaDiffer.js +3 -2
- package/dist/src/SchemaDiffer.js.map +1 -1
- package/dist/src/SchemaMigrator.d.ts +1 -2
- package/dist/src/SchemaMigrator.d.ts.map +1 -1
- package/dist/src/SchemaMigrator.js +0 -1
- package/dist/src/SchemaMigrator.js.map +1 -1
- package/dist/src/modifications/ModificationHandler.d.ts +9 -5
- package/dist/src/modifications/ModificationHandler.d.ts.map +1 -1
- package/dist/src/modifications/ModificationHandler.js.map +1 -1
- package/dist/src/modifications/ModificationHandlerFactory.d.ts +2 -2
- package/dist/src/modifications/ModificationHandlerFactory.d.ts.map +1 -1
- package/dist/src/modifications/ModificationHandlerFactory.js +2 -0
- package/dist/src/modifications/ModificationHandlerFactory.js.map +1 -1
- package/dist/src/modifications/ModificationVersions.d.ts +4 -3
- package/dist/src/modifications/ModificationVersions.d.ts.map +1 -1
- package/dist/src/modifications/ModificationVersions.js +5 -4
- package/dist/src/modifications/ModificationVersions.js.map +1 -1
- package/dist/src/modifications/columns/UpdateColumnDefinitionModification.d.ts.map +1 -1
- package/dist/src/modifications/columns/UpdateColumnDefinitionModification.js +3 -3
- package/dist/src/modifications/columns/UpdateColumnDefinitionModification.js.map +1 -1
- package/dist/src/modifications/constraints/CreateUniqueConstraintModification.d.ts +3 -3
- package/dist/src/modifications/constraints/CreateUniqueConstraintModification.d.ts.map +1 -1
- package/dist/src/modifications/constraints/CreateUniqueConstraintModification.js +20 -32
- package/dist/src/modifications/constraints/CreateUniqueConstraintModification.js.map +1 -1
- package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.d.ts +11 -5
- package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.d.ts.map +1 -1
- package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.js +37 -9
- package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.js.map +1 -1
- package/dist/src/modifications/constraints/utils.d.ts +7 -0
- package/dist/src/modifications/constraints/utils.d.ts.map +1 -0
- package/dist/src/modifications/constraints/utils.js +33 -0
- package/dist/src/modifications/constraints/utils.js.map +1 -0
- package/dist/src/modifications/entities/CreateEntityModification.d.ts +4 -4
- package/dist/src/modifications/entities/CreateEntityModification.d.ts.map +1 -1
- package/dist/src/modifications/entities/CreateEntityModification.js +18 -14
- package/dist/src/modifications/entities/CreateEntityModification.js.map +1 -1
- package/dist/src/modifications/entities/CreateViewModification.d.ts +2 -2
- package/dist/src/modifications/entities/CreateViewModification.d.ts.map +1 -1
- package/dist/src/modifications/entities/CreateViewModification.js +14 -10
- package/dist/src/modifications/entities/CreateViewModification.js.map +1 -1
- package/dist/src/modifications/entities/RemoveEntityModification.d.ts +3 -4
- package/dist/src/modifications/entities/RemoveEntityModification.d.ts.map +1 -1
- package/dist/src/modifications/entities/RemoveEntityModification.js +3 -2
- package/dist/src/modifications/entities/RemoveEntityModification.js.map +1 -1
- package/dist/src/modifications/entities/ToggleEventLogModification.d.ts +2 -2
- package/dist/src/modifications/entities/ToggleEventLogModification.d.ts.map +1 -1
- package/dist/src/modifications/entities/ToggleEventLogModification.js +3 -3
- package/dist/src/modifications/entities/ToggleEventLogModification.js.map +1 -1
- package/dist/src/modifications/entities/UpdateEntityNameModification.d.ts +4 -5
- package/dist/src/modifications/entities/UpdateEntityNameModification.d.ts.map +1 -1
- package/dist/src/modifications/entities/UpdateEntityNameModification.js +3 -34
- package/dist/src/modifications/entities/UpdateEntityNameModification.js.map +1 -1
- package/dist/src/modifications/fields/RemoveFieldModification.js.map +1 -1
- package/dist/src/modifications/fields/UpdateFieldNameModification.d.ts +4 -5
- package/dist/src/modifications/fields/UpdateFieldNameModification.d.ts.map +1 -1
- package/dist/src/modifications/fields/UpdateFieldNameModification.js +18 -42
- package/dist/src/modifications/fields/UpdateFieldNameModification.js.map +1 -1
- package/dist/src/modifications/indexes/CreateIndexModification.d.ts +5 -5
- package/dist/src/modifications/indexes/CreateIndexModification.d.ts.map +1 -1
- package/dist/src/modifications/indexes/CreateIndexModification.js +24 -35
- package/dist/src/modifications/indexes/CreateIndexModification.js.map +1 -1
- package/dist/src/modifications/indexes/RemoveIndexModification.d.ts +12 -6
- package/dist/src/modifications/indexes/RemoveIndexModification.d.ts.map +1 -1
- package/dist/src/modifications/indexes/RemoveIndexModification.js +36 -10
- package/dist/src/modifications/indexes/RemoveIndexModification.js.map +1 -1
- package/dist/src/modifications/indexes/utils.d.ts +7 -0
- package/dist/src/modifications/indexes/utils.d.ts.map +1 -0
- package/dist/src/modifications/indexes/utils.js +33 -0
- package/dist/src/modifications/indexes/utils.js.map +1 -0
- package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.d.ts +3 -4
- package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js +10 -10
- package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js.map +1 -1
- package/dist/src/modifications/relations/ConvertOneToManyRelationModification.d.ts +3 -4
- package/dist/src/modifications/relations/ConvertOneToManyRelationModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/ConvertOneToManyRelationModification.js +14 -12
- package/dist/src/modifications/relations/ConvertOneToManyRelationModification.js.map +1 -1
- package/dist/src/modifications/relations/CreateRelationModification.d.ts +3 -4
- package/dist/src/modifications/relations/CreateRelationModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/CreateRelationModification.js +13 -17
- package/dist/src/modifications/relations/CreateRelationModification.js.map +1 -1
- package/dist/src/modifications/relations/ToggleJunctionEventLogModification.d.ts +3 -4
- package/dist/src/modifications/relations/ToggleJunctionEventLogModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/ToggleJunctionEventLogModification.js +4 -5
- package/dist/src/modifications/relations/ToggleJunctionEventLogModification.js.map +1 -1
- package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.d.ts +2 -2
- package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.js +3 -3
- package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.js.map +1 -1
- package/dist/src/modifications/relations/helpers.d.ts +4 -1
- package/dist/src/modifications/relations/helpers.d.ts.map +1 -1
- package/dist/src/modifications/relations/helpers.js +20 -17
- package/dist/src/modifications/relations/helpers.js.map +1 -1
- package/dist/src/modifications/upgrade/RemoveIndexNamesModification.d.ts +19 -0
- package/dist/src/modifications/upgrade/RemoveIndexNamesModification.d.ts.map +1 -0
- package/dist/src/modifications/upgrade/RemoveIndexNamesModification.js +40 -0
- package/dist/src/modifications/upgrade/RemoveIndexNamesModification.js.map +1 -0
- package/dist/src/modifications/utils/createJunctionTable.d.ts +2 -3
- package/dist/src/modifications/utils/createJunctionTable.d.ts.map +1 -1
- package/dist/src/modifications/utils/createJunctionTable.js +4 -6
- package/dist/src/modifications/utils/createJunctionTable.js.map +1 -1
- package/dist/src/modifications/utils/schemaUpdateUtils.d.ts +2 -4
- package/dist/src/modifications/utils/schemaUpdateUtils.d.ts.map +1 -1
- package/dist/src/modifications/utils/schemaUpdateUtils.js +5 -20
- package/dist/src/modifications/utils/schemaUpdateUtils.js.map +1 -1
- package/dist/src/modifications/utils/stringArrayEquals.d.ts +2 -0
- package/dist/src/modifications/utils/stringArrayEquals.d.ts.map +1 -0
- package/dist/src/modifications/utils/stringArrayEquals.js +9 -0
- package/dist/src/modifications/utils/stringArrayEquals.js.map +1 -0
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/src/utils/PartialEntity.d.ts +5 -3
- package/dist/src/utils/PartialEntity.d.ts.map +1 -1
- package/dist/tests/cases/integration/convertOneHasManyToManyHasManyRelation.test.js +1 -1
- package/dist/tests/cases/integration/convertOneToManyRelation.test.js +5 -5
- package/dist/tests/cases/integration/convertOneToManyRelation.test.js.map +1 -1
- package/dist/tests/cases/integration/createAndDropIndex.test.js +4 -4
- package/dist/tests/cases/integration/createAndDropIndex.test.js.map +1 -1
- package/dist/tests/cases/integration/createEntity.test.js +6 -9
- package/dist/tests/cases/integration/createEntity.test.js.map +1 -1
- package/dist/tests/cases/integration/createManyHasMany.test.js +3 -3
- package/dist/tests/cases/integration/createManyHasOne.test.js +4 -4
- package/dist/tests/cases/integration/createManyHasOne.test.js.map +1 -1
- package/dist/tests/cases/integration/createOneHasMany.test.js +6 -9
- package/dist/tests/cases/integration/createOneHasMany.test.js.map +1 -1
- package/dist/tests/cases/integration/createOneHasOne.test.js +6 -6
- package/dist/tests/cases/integration/createRelationInverseSide.test.js +1 -1
- package/dist/tests/cases/integration/createRelationInverseSide.test.js.map +1 -1
- package/dist/tests/cases/integration/createView.test.js +6 -6
- package/dist/tests/cases/integration/removeField.test.js +6 -6
- package/dist/tests/cases/integration/removeField.test.js.map +1 -1
- package/dist/tests/cases/integration/updateColumnDefinition.test.js +4 -4
- package/dist/tests/cases/integration/updateEntityName.test.js +1 -20
- package/dist/tests/cases/integration/updateEntityName.test.js.map +1 -1
- package/dist/tests/cases/integration/updateFieldName.test.js +1 -21
- package/dist/tests/cases/integration/updateFieldName.test.js.map +1 -1
- package/dist/tests/cases/integration/updateRelationOnDelete.test.js +2 -2
- package/dist/tests/cases/integration/updateRelationOnDelete.test.js.map +1 -1
- package/dist/tests/cases/integration/updateView.test.js +18 -18
- package/dist/tests/scripts/checkCreateConsistentMigrations.js +1 -1
- package/dist/tests/scripts/checkCreateConsistentMigrations.js.map +1 -1
- package/dist/tests/src/tests.d.ts.map +1 -1
- package/dist/tests/src/tests.js +10 -4
- package/dist/tests/src/tests.js.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -7
- package/src/MigrationDescriber.ts +11 -9
- package/src/SchemaDiffer.ts +3 -3
- package/src/SchemaMigrator.ts +1 -3
- package/src/modifications/ModificationHandler.ts +10 -5
- package/src/modifications/ModificationHandlerFactory.ts +12 -11
- package/src/modifications/ModificationVersions.ts +4 -3
- package/src/modifications/columns/UpdateColumnDefinitionModification.ts +1 -2
- package/src/modifications/constraints/CreateUniqueConstraintModification.ts +31 -40
- package/src/modifications/constraints/RemoveUniqueConstraintModification.ts +60 -15
- package/src/modifications/constraints/utils.ts +36 -0
- package/src/modifications/entities/CreateEntityModification.ts +9 -8
- package/src/modifications/entities/CreateViewModification.ts +4 -3
- package/src/modifications/entities/RemoveEntityModification.ts +5 -5
- package/src/modifications/entities/ToggleEventLogModification.ts +4 -3
- package/src/modifications/entities/UpdateEntityNameModification.ts +10 -46
- package/src/modifications/fields/RemoveFieldModification.ts +1 -1
- package/src/modifications/fields/UpdateFieldNameModification.ts +30 -57
- package/src/modifications/indexes/CreateIndexModification.ts +35 -41
- package/src/modifications/indexes/RemoveIndexModification.ts +57 -17
- package/src/modifications/indexes/utils.ts +30 -0
- package/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.ts +7 -19
- package/src/modifications/relations/ConvertOneToManyRelationModification.ts +21 -22
- package/src/modifications/relations/CreateRelationModification.ts +20 -35
- package/src/modifications/relations/ToggleJunctionEventLogModification.ts +4 -5
- package/src/modifications/relations/UpdateRelationOnDeleteModification.ts +13 -5
- package/src/modifications/relations/helpers.ts +27 -22
- package/src/modifications/upgrade/RemoveIndexNamesModification.ts +46 -0
- package/src/modifications/utils/createJunctionTable.ts +8 -8
- package/src/modifications/utils/schemaUpdateUtils.ts +5 -17
- package/src/modifications/utils/stringArrayEquals.ts +4 -0
- package/src/tsconfig.json +0 -1
- package/src/utils/PartialEntity.ts +7 -1
- package/tests/cases/integration/convertOneHasManyToManyHasManyRelation.test.ts +1 -1
- package/tests/cases/integration/convertOneToManyRelation.test.ts +5 -5
- package/tests/cases/integration/createAndDropIndex.test.ts +4 -4
- package/tests/cases/integration/createEntity.test.ts +6 -9
- package/tests/cases/integration/createManyHasMany.test.ts +3 -3
- package/tests/cases/integration/createManyHasOne.test.ts +4 -4
- package/tests/cases/integration/createOneHasMany.test.ts +6 -9
- package/tests/cases/integration/createOneHasOne.test.ts +6 -6
- package/tests/cases/integration/createRelationInverseSide.test.ts +1 -1
- package/tests/cases/integration/createView.test.ts +6 -6
- package/tests/cases/integration/removeField.test.ts +6 -6
- package/tests/cases/integration/updateColumnDefinition.test.ts +4 -4
- package/tests/cases/integration/updateEntityName.test.ts +1 -20
- package/tests/cases/integration/updateFieldName.test.ts +1 -21
- package/tests/cases/integration/updateRelationOnDelete.test.ts +2 -2
- package/tests/cases/integration/updateView.test.ts +18 -18
- package/tests/scripts/checkCreateConsistentMigrations.ts +1 -1
- package/tests/src/tests.ts +13 -8
- package/dist/src/modifications/utils/renameConstraintsHelper.d.ts +0 -8
- package/dist/src/modifications/utils/renameConstraintsHelper.d.ts.map +0 -1
- package/dist/src/modifications/utils/renameConstraintsHelper.js +0 -31
- package/dist/src/modifications/utils/renameConstraintsHelper.js.map +0 -1
- package/dist/src/modifications/utils/schemaMeta.d.ts +0 -8
- package/dist/src/modifications/utils/schemaMeta.d.ts.map +0 -1
- package/dist/src/modifications/utils/schemaMeta.js +0 -13
- package/dist/src/modifications/utils/schemaMeta.js.map +0 -1
- package/dist/tests/cases/integration/takenIndexName.test.d.ts +0 -2
- package/dist/tests/cases/integration/takenIndexName.test.d.ts.map +0 -1
- package/dist/tests/cases/integration/takenIndexName.test.js +0 -307
- package/dist/tests/cases/integration/takenIndexName.test.js.map +0 -1
- package/src/modifications/utils/renameConstraintsHelper.ts +0 -34
- package/src/modifications/utils/schemaMeta.ts +0 -18
- package/tests/cases/integration/takenIndexName.test.ts +0 -314
|
@@ -1,307 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const vitest_1 = require("vitest");
|
|
4
|
-
const tests_1 = require("../../src/tests");
|
|
5
|
-
const src_1 = require("../../../src");
|
|
6
|
-
const schema_utils_1 = require("@contember/schema-utils");
|
|
7
|
-
const schema_1 = require("@contember/schema");
|
|
8
|
-
const tags_1 = require("../../src/tags");
|
|
9
|
-
(0, vitest_1.test)('taken fk index name', () => {
|
|
10
|
-
(0, tests_1.testGenerateSql)(schema_utils_1.emptyModelSchema, [
|
|
11
|
-
src_1.createEntityModification.createModification({
|
|
12
|
-
entity: {
|
|
13
|
-
fields: {
|
|
14
|
-
id: {
|
|
15
|
-
columnName: 'id',
|
|
16
|
-
name: 'id',
|
|
17
|
-
nullable: false,
|
|
18
|
-
type: schema_1.Model.ColumnType.Uuid,
|
|
19
|
-
columnType: 'uuid',
|
|
20
|
-
},
|
|
21
|
-
},
|
|
22
|
-
name: 'Post',
|
|
23
|
-
primary: 'id',
|
|
24
|
-
primaryColumn: 'id',
|
|
25
|
-
tableName: 'post',
|
|
26
|
-
unique: {},
|
|
27
|
-
eventLog: {
|
|
28
|
-
enabled: true,
|
|
29
|
-
},
|
|
30
|
-
indexes: {},
|
|
31
|
-
},
|
|
32
|
-
}),
|
|
33
|
-
src_1.createEntityModification.createModification({
|
|
34
|
-
entity: {
|
|
35
|
-
fields: {
|
|
36
|
-
id: {
|
|
37
|
-
columnName: 'id',
|
|
38
|
-
name: 'id',
|
|
39
|
-
nullable: false,
|
|
40
|
-
type: schema_1.Model.ColumnType.Uuid,
|
|
41
|
-
columnType: 'uuid',
|
|
42
|
-
},
|
|
43
|
-
},
|
|
44
|
-
name: 'Author',
|
|
45
|
-
primary: 'id',
|
|
46
|
-
primaryColumn: 'id',
|
|
47
|
-
tableName: 'author',
|
|
48
|
-
unique: {},
|
|
49
|
-
eventLog: {
|
|
50
|
-
enabled: true,
|
|
51
|
-
},
|
|
52
|
-
indexes: {},
|
|
53
|
-
},
|
|
54
|
-
}),
|
|
55
|
-
src_1.createRelationModification.createModification({
|
|
56
|
-
entityName: 'Post',
|
|
57
|
-
owningSide: {
|
|
58
|
-
name: 'author',
|
|
59
|
-
type: schema_1.Model.RelationType.ManyHasOne,
|
|
60
|
-
target: 'Author',
|
|
61
|
-
joiningColumn: {
|
|
62
|
-
columnName: 'author_id',
|
|
63
|
-
onDelete: schema_1.Model.OnDelete.cascade,
|
|
64
|
-
},
|
|
65
|
-
nullable: true,
|
|
66
|
-
},
|
|
67
|
-
}),
|
|
68
|
-
src_1.updateEntityNameModification.createModification({
|
|
69
|
-
entityName: 'Post',
|
|
70
|
-
newEntityName: 'Article',
|
|
71
|
-
tableName: 'article',
|
|
72
|
-
}),
|
|
73
|
-
src_1.createEntityModification.createModification({
|
|
74
|
-
entity: {
|
|
75
|
-
fields: {
|
|
76
|
-
id: {
|
|
77
|
-
columnName: 'id',
|
|
78
|
-
name: 'id',
|
|
79
|
-
nullable: false,
|
|
80
|
-
type: schema_1.Model.ColumnType.Uuid,
|
|
81
|
-
columnType: 'uuid',
|
|
82
|
-
},
|
|
83
|
-
},
|
|
84
|
-
name: 'Post',
|
|
85
|
-
primary: 'id',
|
|
86
|
-
primaryColumn: 'id',
|
|
87
|
-
tableName: 'post',
|
|
88
|
-
unique: {},
|
|
89
|
-
eventLog: {
|
|
90
|
-
enabled: true,
|
|
91
|
-
},
|
|
92
|
-
indexes: {},
|
|
93
|
-
},
|
|
94
|
-
}),
|
|
95
|
-
src_1.createRelationModification.createModification({
|
|
96
|
-
entityName: 'Post',
|
|
97
|
-
owningSide: {
|
|
98
|
-
name: 'author',
|
|
99
|
-
type: schema_1.Model.RelationType.ManyHasOne,
|
|
100
|
-
target: 'Author',
|
|
101
|
-
joiningColumn: {
|
|
102
|
-
columnName: 'author_id',
|
|
103
|
-
onDelete: schema_1.Model.OnDelete.cascade,
|
|
104
|
-
},
|
|
105
|
-
nullable: true,
|
|
106
|
-
},
|
|
107
|
-
}),
|
|
108
|
-
], (0, tags_1.SQL) `CREATE TABLE "post" (
|
|
109
|
-
"id" uuid PRIMARY KEY NOT NULL
|
|
110
|
-
);
|
|
111
|
-
CREATE TRIGGER "log_event"
|
|
112
|
-
AFTER INSERT OR UPDATE OR DELETE ON "post"
|
|
113
|
-
FOR EACH ROW
|
|
114
|
-
EXECUTE PROCEDURE "system"."trigger_event"($pga$id$pga$);
|
|
115
|
-
CREATE CONSTRAINT TRIGGER "log_event_trx"
|
|
116
|
-
AFTER INSERT OR UPDATE OR DELETE ON "post"
|
|
117
|
-
DEFERRABLE INITIALLY DEFERRED
|
|
118
|
-
FOR EACH ROW
|
|
119
|
-
EXECUTE PROCEDURE "system"."trigger_event_commit"();
|
|
120
|
-
CREATE TABLE "author" (
|
|
121
|
-
"id" uuid PRIMARY KEY NOT NULL
|
|
122
|
-
);
|
|
123
|
-
CREATE TRIGGER "log_event"
|
|
124
|
-
AFTER INSERT OR UPDATE OR DELETE ON "author"
|
|
125
|
-
FOR EACH ROW
|
|
126
|
-
EXECUTE PROCEDURE "system"."trigger_event"($pga$id$pga$);
|
|
127
|
-
CREATE CONSTRAINT TRIGGER "log_event_trx"
|
|
128
|
-
AFTER INSERT OR UPDATE OR DELETE ON "author"
|
|
129
|
-
DEFERRABLE INITIALLY DEFERRED
|
|
130
|
-
FOR EACH ROW
|
|
131
|
-
EXECUTE PROCEDURE "system"."trigger_event_commit"();
|
|
132
|
-
ALTER TABLE "post"
|
|
133
|
-
ADD "author_id" uuid;
|
|
134
|
-
ALTER TABLE "post"
|
|
135
|
-
ADD CONSTRAINT "fk_post_author_id_87ef9a" FOREIGN KEY ("author_id") REFERENCES "author"("id") ON DELETE CASCADE DEFERRABLE INITIALLY IMMEDIATE;
|
|
136
|
-
CREATE INDEX "post_author_id_index" ON "post" ("author_id");
|
|
137
|
-
ALTER TABLE "post" RENAME TO "article";
|
|
138
|
-
CREATE TABLE "post" (
|
|
139
|
-
"id" uuid PRIMARY KEY NOT NULL
|
|
140
|
-
);
|
|
141
|
-
CREATE TRIGGER "log_event"
|
|
142
|
-
AFTER INSERT OR UPDATE OR DELETE ON "post"
|
|
143
|
-
FOR EACH ROW
|
|
144
|
-
EXECUTE PROCEDURE "system"."trigger_event"($pga$id$pga$);
|
|
145
|
-
CREATE CONSTRAINT TRIGGER "log_event_trx"
|
|
146
|
-
AFTER INSERT OR UPDATE OR DELETE ON "post"
|
|
147
|
-
DEFERRABLE INITIALLY DEFERRED
|
|
148
|
-
FOR EACH ROW
|
|
149
|
-
EXECUTE PROCEDURE "system"."trigger_event_commit"();
|
|
150
|
-
ALTER TABLE "post"
|
|
151
|
-
ADD "author_id" uuid;
|
|
152
|
-
ALTER TABLE "post"
|
|
153
|
-
ADD CONSTRAINT "fk_post_author_id_87ef9a" FOREIGN KEY ("author_id") REFERENCES "author"("id") ON DELETE CASCADE DEFERRABLE INITIALLY IMMEDIATE;
|
|
154
|
-
CREATE INDEX "post_author_id_index1" ON "post" ("author_id");`);
|
|
155
|
-
});
|
|
156
|
-
(0, vitest_1.test)('taken junction table index name', () => {
|
|
157
|
-
(0, tests_1.testGenerateSql)(schema_utils_1.emptyModelSchema, [
|
|
158
|
-
src_1.createEntityModification.createModification({
|
|
159
|
-
entity: {
|
|
160
|
-
fields: {
|
|
161
|
-
id: {
|
|
162
|
-
columnName: 'id',
|
|
163
|
-
name: 'id',
|
|
164
|
-
nullable: false,
|
|
165
|
-
type: schema_1.Model.ColumnType.Uuid,
|
|
166
|
-
columnType: 'uuid',
|
|
167
|
-
},
|
|
168
|
-
},
|
|
169
|
-
name: 'Post',
|
|
170
|
-
primary: 'id',
|
|
171
|
-
primaryColumn: 'id',
|
|
172
|
-
tableName: 'post',
|
|
173
|
-
unique: {},
|
|
174
|
-
eventLog: {
|
|
175
|
-
enabled: true,
|
|
176
|
-
},
|
|
177
|
-
indexes: {},
|
|
178
|
-
},
|
|
179
|
-
}),
|
|
180
|
-
src_1.createEntityModification.createModification({
|
|
181
|
-
entity: {
|
|
182
|
-
fields: {
|
|
183
|
-
id: {
|
|
184
|
-
columnName: 'id',
|
|
185
|
-
name: 'id',
|
|
186
|
-
nullable: false,
|
|
187
|
-
type: schema_1.Model.ColumnType.Uuid,
|
|
188
|
-
columnType: 'uuid',
|
|
189
|
-
},
|
|
190
|
-
},
|
|
191
|
-
name: 'Author',
|
|
192
|
-
primary: 'id',
|
|
193
|
-
primaryColumn: 'id',
|
|
194
|
-
tableName: 'author',
|
|
195
|
-
unique: {},
|
|
196
|
-
eventLog: {
|
|
197
|
-
enabled: true,
|
|
198
|
-
},
|
|
199
|
-
indexes: {},
|
|
200
|
-
},
|
|
201
|
-
}),
|
|
202
|
-
src_1.createRelationModification.createModification({
|
|
203
|
-
entityName: 'Post',
|
|
204
|
-
owningSide: {
|
|
205
|
-
name: 'authors',
|
|
206
|
-
type: schema_1.Model.RelationType.ManyHasMany,
|
|
207
|
-
target: 'Author',
|
|
208
|
-
joiningTable: {
|
|
209
|
-
tableName: 'post_authors',
|
|
210
|
-
joiningColumn: {
|
|
211
|
-
columnName: 'post_id',
|
|
212
|
-
onDelete: schema_1.Model.OnDelete.cascade,
|
|
213
|
-
},
|
|
214
|
-
inverseJoiningColumn: {
|
|
215
|
-
columnName: 'author_id',
|
|
216
|
-
onDelete: schema_1.Model.OnDelete.cascade,
|
|
217
|
-
},
|
|
218
|
-
eventLog: {
|
|
219
|
-
enabled: true,
|
|
220
|
-
},
|
|
221
|
-
},
|
|
222
|
-
},
|
|
223
|
-
}),
|
|
224
|
-
src_1.removeFieldModification.createModification({
|
|
225
|
-
entityName: 'Post',
|
|
226
|
-
fieldName: 'authors',
|
|
227
|
-
}),
|
|
228
|
-
src_1.createRelationModification.createModification({
|
|
229
|
-
entityName: 'Post',
|
|
230
|
-
owningSide: {
|
|
231
|
-
name: 'authors',
|
|
232
|
-
type: schema_1.Model.RelationType.ManyHasMany,
|
|
233
|
-
target: 'Author',
|
|
234
|
-
joiningTable: {
|
|
235
|
-
tableName: 'post_authors',
|
|
236
|
-
joiningColumn: {
|
|
237
|
-
columnName: 'post_id',
|
|
238
|
-
onDelete: schema_1.Model.OnDelete.cascade,
|
|
239
|
-
},
|
|
240
|
-
inverseJoiningColumn: {
|
|
241
|
-
columnName: 'author_id',
|
|
242
|
-
onDelete: schema_1.Model.OnDelete.cascade,
|
|
243
|
-
},
|
|
244
|
-
eventLog: {
|
|
245
|
-
enabled: true,
|
|
246
|
-
},
|
|
247
|
-
},
|
|
248
|
-
},
|
|
249
|
-
}),
|
|
250
|
-
], (0, tags_1.SQL) `CREATE TABLE "post" (
|
|
251
|
-
"id" uuid PRIMARY KEY NOT NULL
|
|
252
|
-
);
|
|
253
|
-
CREATE TRIGGER "log_event"
|
|
254
|
-
AFTER INSERT OR UPDATE OR DELETE ON "post"
|
|
255
|
-
FOR EACH ROW
|
|
256
|
-
EXECUTE PROCEDURE "system"."trigger_event"($pga$id$pga$);
|
|
257
|
-
CREATE CONSTRAINT TRIGGER "log_event_trx"
|
|
258
|
-
AFTER INSERT OR UPDATE OR DELETE ON "post"
|
|
259
|
-
DEFERRABLE INITIALLY DEFERRED
|
|
260
|
-
FOR EACH ROW
|
|
261
|
-
EXECUTE PROCEDURE "system"."trigger_event_commit"();
|
|
262
|
-
CREATE TABLE "author" (
|
|
263
|
-
"id" uuid PRIMARY KEY NOT NULL
|
|
264
|
-
);
|
|
265
|
-
CREATE TRIGGER "log_event"
|
|
266
|
-
AFTER INSERT OR UPDATE OR DELETE ON "author"
|
|
267
|
-
FOR EACH ROW
|
|
268
|
-
EXECUTE PROCEDURE "system"."trigger_event"($pga$id$pga$);
|
|
269
|
-
CREATE CONSTRAINT TRIGGER "log_event_trx"
|
|
270
|
-
AFTER INSERT OR UPDATE OR DELETE ON "author"
|
|
271
|
-
DEFERRABLE INITIALLY DEFERRED
|
|
272
|
-
FOR EACH ROW
|
|
273
|
-
EXECUTE PROCEDURE "system"."trigger_event_commit"();
|
|
274
|
-
CREATE TABLE "post_authors" (
|
|
275
|
-
"post_id" uuid NOT NULL REFERENCES "post"("id") ON DELETE CASCADE,
|
|
276
|
-
"author_id" uuid NOT NULL REFERENCES "author"("id") ON DELETE CASCADE
|
|
277
|
-
);
|
|
278
|
-
ALTER TABLE "post_authors"
|
|
279
|
-
ADD CONSTRAINT "post_authors_pkey" PRIMARY KEY ("post_id", "author_id");
|
|
280
|
-
CREATE TRIGGER "log_event"
|
|
281
|
-
AFTER INSERT OR UPDATE OR DELETE ON "post_authors"
|
|
282
|
-
FOR EACH ROW
|
|
283
|
-
EXECUTE PROCEDURE "system"."trigger_event"($pga$post_id$pga$, $pga$author_id$pga$);
|
|
284
|
-
CREATE CONSTRAINT TRIGGER "log_event_trx"
|
|
285
|
-
AFTER INSERT OR UPDATE OR DELETE ON "post_authors"
|
|
286
|
-
DEFERRABLE INITIALLY DEFERRED
|
|
287
|
-
FOR EACH ROW
|
|
288
|
-
EXECUTE PROCEDURE "system"."trigger_event_commit"();
|
|
289
|
-
DROP TABLE "post_authors";
|
|
290
|
-
CREATE TABLE "post_authors" (
|
|
291
|
-
"post_id" uuid NOT NULL REFERENCES "post"("id") ON DELETE CASCADE,
|
|
292
|
-
"author_id" uuid NOT NULL REFERENCES "author"("id") ON DELETE CASCADE
|
|
293
|
-
);
|
|
294
|
-
ALTER TABLE "post_authors"
|
|
295
|
-
ADD CONSTRAINT "post_authors_pkey1" PRIMARY KEY ("post_id", "author_id");
|
|
296
|
-
CREATE TRIGGER "log_event"
|
|
297
|
-
AFTER INSERT OR UPDATE OR DELETE ON "post_authors"
|
|
298
|
-
FOR EACH ROW
|
|
299
|
-
EXECUTE PROCEDURE "system"."trigger_event"($pga$post_id$pga$, $pga$author_id$pga$);
|
|
300
|
-
CREATE CONSTRAINT TRIGGER "log_event_trx"
|
|
301
|
-
AFTER INSERT OR UPDATE OR DELETE ON "post_authors"
|
|
302
|
-
DEFERRABLE INITIALLY DEFERRED
|
|
303
|
-
FOR EACH ROW
|
|
304
|
-
EXECUTE PROCEDURE "system"."trigger_event_commit"();
|
|
305
|
-
`);
|
|
306
|
-
});
|
|
307
|
-
//# sourceMappingURL=takenIndexName.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"takenIndexName.test.js","sourceRoot":"","sources":["../../../../tests/cases/integration/takenIndexName.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { Model, Writable } from '@contember/schema'
|
|
2
|
-
import { MigrationBuilder } from '@contember/database-migrations'
|
|
3
|
-
import { EntityUpdater } from './schemaUpdateUtils'
|
|
4
|
-
|
|
5
|
-
type NameGenerator = (constraint: Model.UniqueConstraint) => string | null
|
|
6
|
-
export const renameConstraintsSqlBuilder = (
|
|
7
|
-
builder: MigrationBuilder,
|
|
8
|
-
entity: Model.Entity,
|
|
9
|
-
nameGenerator: NameGenerator,
|
|
10
|
-
) => {
|
|
11
|
-
const tableName = entity.tableName
|
|
12
|
-
for (const constraint of Object.values(entity.unique)) {
|
|
13
|
-
const newName = nameGenerator(constraint)
|
|
14
|
-
if (newName === null) {
|
|
15
|
-
continue
|
|
16
|
-
}
|
|
17
|
-
builder.renameConstraint(tableName, constraint.name, newName)
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export const renameConstraintSchemaUpdater = (nameGenerator: NameGenerator): EntityUpdater => {
|
|
22
|
-
return ({ entity }) => {
|
|
23
|
-
const newConstraints: Writable<Model.UniqueConstraints> = {}
|
|
24
|
-
for (const constraint of Object.values(entity.unique)) {
|
|
25
|
-
const newName = nameGenerator(constraint)
|
|
26
|
-
if (newName === null) {
|
|
27
|
-
newConstraints[constraint.name] = constraint
|
|
28
|
-
} else {
|
|
29
|
-
newConstraints[newName] = { ...constraint, name: newName }
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
return { ...entity, unique: newConstraints }
|
|
33
|
-
}
|
|
34
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Schema } from '@contember/schema'
|
|
2
|
-
|
|
3
|
-
export type SchemaWithMeta =
|
|
4
|
-
& Schema
|
|
5
|
-
& {
|
|
6
|
-
meta?: {
|
|
7
|
-
takenIndexNames: Record<string, true>
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export const resolveIndexName = (schema: SchemaWithMeta, indexName: string): string => {
|
|
12
|
-
for (let i = 0; ; i++) {
|
|
13
|
-
const name = indexName + (i === 0 ? '' : `${i}`)
|
|
14
|
-
if (!schema.meta || !(name in schema.meta.takenIndexNames)) {
|
|
15
|
-
return name
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
|
@@ -1,314 +0,0 @@
|
|
|
1
|
-
import { test } from 'vitest'
|
|
2
|
-
import { testGenerateSql } from '../../src/tests'
|
|
3
|
-
import {
|
|
4
|
-
createEntityModification,
|
|
5
|
-
createRelationModification,
|
|
6
|
-
removeFieldModification,
|
|
7
|
-
updateEntityNameModification,
|
|
8
|
-
} from '../../../src'
|
|
9
|
-
import { emptyModelSchema } from '@contember/schema-utils'
|
|
10
|
-
import { Model } from '@contember/schema'
|
|
11
|
-
import { SQL } from '../../src/tags'
|
|
12
|
-
|
|
13
|
-
test('taken fk index name', () => {
|
|
14
|
-
testGenerateSql(emptyModelSchema, [
|
|
15
|
-
createEntityModification.createModification({
|
|
16
|
-
entity: {
|
|
17
|
-
fields: {
|
|
18
|
-
id: {
|
|
19
|
-
columnName: 'id',
|
|
20
|
-
name: 'id',
|
|
21
|
-
nullable: false,
|
|
22
|
-
type: Model.ColumnType.Uuid,
|
|
23
|
-
columnType: 'uuid',
|
|
24
|
-
},
|
|
25
|
-
},
|
|
26
|
-
name: 'Post',
|
|
27
|
-
primary: 'id',
|
|
28
|
-
primaryColumn: 'id',
|
|
29
|
-
tableName: 'post',
|
|
30
|
-
unique: {},
|
|
31
|
-
eventLog: {
|
|
32
|
-
enabled: true,
|
|
33
|
-
},
|
|
34
|
-
indexes: {},
|
|
35
|
-
},
|
|
36
|
-
}),
|
|
37
|
-
createEntityModification.createModification({
|
|
38
|
-
entity: {
|
|
39
|
-
fields: {
|
|
40
|
-
id: {
|
|
41
|
-
columnName: 'id',
|
|
42
|
-
name: 'id',
|
|
43
|
-
nullable: false,
|
|
44
|
-
type: Model.ColumnType.Uuid,
|
|
45
|
-
columnType: 'uuid',
|
|
46
|
-
},
|
|
47
|
-
},
|
|
48
|
-
name: 'Author',
|
|
49
|
-
primary: 'id',
|
|
50
|
-
primaryColumn: 'id',
|
|
51
|
-
tableName: 'author',
|
|
52
|
-
unique: {},
|
|
53
|
-
eventLog: {
|
|
54
|
-
enabled: true,
|
|
55
|
-
},
|
|
56
|
-
indexes: {},
|
|
57
|
-
},
|
|
58
|
-
}),
|
|
59
|
-
createRelationModification.createModification({
|
|
60
|
-
entityName: 'Post',
|
|
61
|
-
owningSide: {
|
|
62
|
-
name: 'author',
|
|
63
|
-
type: Model.RelationType.ManyHasOne,
|
|
64
|
-
target: 'Author',
|
|
65
|
-
joiningColumn: {
|
|
66
|
-
columnName: 'author_id',
|
|
67
|
-
onDelete: Model.OnDelete.cascade,
|
|
68
|
-
},
|
|
69
|
-
nullable: true,
|
|
70
|
-
},
|
|
71
|
-
|
|
72
|
-
}),
|
|
73
|
-
updateEntityNameModification.createModification({
|
|
74
|
-
entityName: 'Post',
|
|
75
|
-
newEntityName: 'Article',
|
|
76
|
-
tableName: 'article',
|
|
77
|
-
}),
|
|
78
|
-
createEntityModification.createModification({
|
|
79
|
-
entity: {
|
|
80
|
-
fields: {
|
|
81
|
-
id: {
|
|
82
|
-
columnName: 'id',
|
|
83
|
-
name: 'id',
|
|
84
|
-
nullable: false,
|
|
85
|
-
type: Model.ColumnType.Uuid,
|
|
86
|
-
columnType: 'uuid',
|
|
87
|
-
},
|
|
88
|
-
},
|
|
89
|
-
name: 'Post',
|
|
90
|
-
primary: 'id',
|
|
91
|
-
primaryColumn: 'id',
|
|
92
|
-
tableName: 'post',
|
|
93
|
-
unique: {},
|
|
94
|
-
eventLog: {
|
|
95
|
-
enabled: true,
|
|
96
|
-
},
|
|
97
|
-
indexes: {},
|
|
98
|
-
},
|
|
99
|
-
}),
|
|
100
|
-
createRelationModification.createModification({
|
|
101
|
-
entityName: 'Post',
|
|
102
|
-
owningSide: {
|
|
103
|
-
name: 'author',
|
|
104
|
-
type: Model.RelationType.ManyHasOne,
|
|
105
|
-
target: 'Author',
|
|
106
|
-
joiningColumn: {
|
|
107
|
-
columnName: 'author_id',
|
|
108
|
-
onDelete: Model.OnDelete.cascade,
|
|
109
|
-
},
|
|
110
|
-
nullable: true,
|
|
111
|
-
},
|
|
112
|
-
|
|
113
|
-
}),
|
|
114
|
-
], SQL`CREATE TABLE "post" (
|
|
115
|
-
"id" uuid PRIMARY KEY NOT NULL
|
|
116
|
-
);
|
|
117
|
-
CREATE TRIGGER "log_event"
|
|
118
|
-
AFTER INSERT OR UPDATE OR DELETE ON "post"
|
|
119
|
-
FOR EACH ROW
|
|
120
|
-
EXECUTE PROCEDURE "system"."trigger_event"($pga$id$pga$);
|
|
121
|
-
CREATE CONSTRAINT TRIGGER "log_event_trx"
|
|
122
|
-
AFTER INSERT OR UPDATE OR DELETE ON "post"
|
|
123
|
-
DEFERRABLE INITIALLY DEFERRED
|
|
124
|
-
FOR EACH ROW
|
|
125
|
-
EXECUTE PROCEDURE "system"."trigger_event_commit"();
|
|
126
|
-
CREATE TABLE "author" (
|
|
127
|
-
"id" uuid PRIMARY KEY NOT NULL
|
|
128
|
-
);
|
|
129
|
-
CREATE TRIGGER "log_event"
|
|
130
|
-
AFTER INSERT OR UPDATE OR DELETE ON "author"
|
|
131
|
-
FOR EACH ROW
|
|
132
|
-
EXECUTE PROCEDURE "system"."trigger_event"($pga$id$pga$);
|
|
133
|
-
CREATE CONSTRAINT TRIGGER "log_event_trx"
|
|
134
|
-
AFTER INSERT OR UPDATE OR DELETE ON "author"
|
|
135
|
-
DEFERRABLE INITIALLY DEFERRED
|
|
136
|
-
FOR EACH ROW
|
|
137
|
-
EXECUTE PROCEDURE "system"."trigger_event_commit"();
|
|
138
|
-
ALTER TABLE "post"
|
|
139
|
-
ADD "author_id" uuid;
|
|
140
|
-
ALTER TABLE "post"
|
|
141
|
-
ADD CONSTRAINT "fk_post_author_id_87ef9a" FOREIGN KEY ("author_id") REFERENCES "author"("id") ON DELETE CASCADE DEFERRABLE INITIALLY IMMEDIATE;
|
|
142
|
-
CREATE INDEX "post_author_id_index" ON "post" ("author_id");
|
|
143
|
-
ALTER TABLE "post" RENAME TO "article";
|
|
144
|
-
CREATE TABLE "post" (
|
|
145
|
-
"id" uuid PRIMARY KEY NOT NULL
|
|
146
|
-
);
|
|
147
|
-
CREATE TRIGGER "log_event"
|
|
148
|
-
AFTER INSERT OR UPDATE OR DELETE ON "post"
|
|
149
|
-
FOR EACH ROW
|
|
150
|
-
EXECUTE PROCEDURE "system"."trigger_event"($pga$id$pga$);
|
|
151
|
-
CREATE CONSTRAINT TRIGGER "log_event_trx"
|
|
152
|
-
AFTER INSERT OR UPDATE OR DELETE ON "post"
|
|
153
|
-
DEFERRABLE INITIALLY DEFERRED
|
|
154
|
-
FOR EACH ROW
|
|
155
|
-
EXECUTE PROCEDURE "system"."trigger_event_commit"();
|
|
156
|
-
ALTER TABLE "post"
|
|
157
|
-
ADD "author_id" uuid;
|
|
158
|
-
ALTER TABLE "post"
|
|
159
|
-
ADD CONSTRAINT "fk_post_author_id_87ef9a" FOREIGN KEY ("author_id") REFERENCES "author"("id") ON DELETE CASCADE DEFERRABLE INITIALLY IMMEDIATE;
|
|
160
|
-
CREATE INDEX "post_author_id_index1" ON "post" ("author_id");`)
|
|
161
|
-
})
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
test('taken junction table index name', () => {
|
|
165
|
-
testGenerateSql(emptyModelSchema, [
|
|
166
|
-
createEntityModification.createModification({
|
|
167
|
-
entity: {
|
|
168
|
-
fields: {
|
|
169
|
-
id: {
|
|
170
|
-
columnName: 'id',
|
|
171
|
-
name: 'id',
|
|
172
|
-
nullable: false,
|
|
173
|
-
type: Model.ColumnType.Uuid,
|
|
174
|
-
columnType: 'uuid',
|
|
175
|
-
},
|
|
176
|
-
},
|
|
177
|
-
name: 'Post',
|
|
178
|
-
primary: 'id',
|
|
179
|
-
primaryColumn: 'id',
|
|
180
|
-
tableName: 'post',
|
|
181
|
-
unique: {},
|
|
182
|
-
eventLog: {
|
|
183
|
-
enabled: true,
|
|
184
|
-
},
|
|
185
|
-
indexes: {},
|
|
186
|
-
},
|
|
187
|
-
}),
|
|
188
|
-
createEntityModification.createModification({
|
|
189
|
-
entity: {
|
|
190
|
-
fields: {
|
|
191
|
-
id: {
|
|
192
|
-
columnName: 'id',
|
|
193
|
-
name: 'id',
|
|
194
|
-
nullable: false,
|
|
195
|
-
type: Model.ColumnType.Uuid,
|
|
196
|
-
columnType: 'uuid',
|
|
197
|
-
},
|
|
198
|
-
},
|
|
199
|
-
name: 'Author',
|
|
200
|
-
primary: 'id',
|
|
201
|
-
primaryColumn: 'id',
|
|
202
|
-
tableName: 'author',
|
|
203
|
-
unique: {},
|
|
204
|
-
eventLog: {
|
|
205
|
-
enabled: true,
|
|
206
|
-
},
|
|
207
|
-
indexes: {},
|
|
208
|
-
},
|
|
209
|
-
}),
|
|
210
|
-
createRelationModification.createModification({
|
|
211
|
-
entityName: 'Post',
|
|
212
|
-
owningSide: {
|
|
213
|
-
name: 'authors',
|
|
214
|
-
type: Model.RelationType.ManyHasMany,
|
|
215
|
-
target: 'Author',
|
|
216
|
-
joiningTable: {
|
|
217
|
-
tableName: 'post_authors',
|
|
218
|
-
joiningColumn: {
|
|
219
|
-
columnName: 'post_id',
|
|
220
|
-
onDelete: Model.OnDelete.cascade,
|
|
221
|
-
},
|
|
222
|
-
inverseJoiningColumn: {
|
|
223
|
-
columnName: 'author_id',
|
|
224
|
-
onDelete: Model.OnDelete.cascade,
|
|
225
|
-
},
|
|
226
|
-
eventLog: {
|
|
227
|
-
enabled: true,
|
|
228
|
-
},
|
|
229
|
-
},
|
|
230
|
-
},
|
|
231
|
-
}),
|
|
232
|
-
removeFieldModification.createModification({
|
|
233
|
-
entityName: 'Post',
|
|
234
|
-
fieldName: 'authors',
|
|
235
|
-
}),
|
|
236
|
-
createRelationModification.createModification({
|
|
237
|
-
entityName: 'Post',
|
|
238
|
-
owningSide: {
|
|
239
|
-
name: 'authors',
|
|
240
|
-
type: Model.RelationType.ManyHasMany,
|
|
241
|
-
target: 'Author',
|
|
242
|
-
joiningTable: {
|
|
243
|
-
tableName: 'post_authors',
|
|
244
|
-
joiningColumn: {
|
|
245
|
-
columnName: 'post_id',
|
|
246
|
-
onDelete: Model.OnDelete.cascade,
|
|
247
|
-
},
|
|
248
|
-
inverseJoiningColumn: {
|
|
249
|
-
columnName: 'author_id',
|
|
250
|
-
onDelete: Model.OnDelete.cascade,
|
|
251
|
-
},
|
|
252
|
-
eventLog: {
|
|
253
|
-
enabled: true,
|
|
254
|
-
},
|
|
255
|
-
},
|
|
256
|
-
},
|
|
257
|
-
}),
|
|
258
|
-
], SQL`CREATE TABLE "post" (
|
|
259
|
-
"id" uuid PRIMARY KEY NOT NULL
|
|
260
|
-
);
|
|
261
|
-
CREATE TRIGGER "log_event"
|
|
262
|
-
AFTER INSERT OR UPDATE OR DELETE ON "post"
|
|
263
|
-
FOR EACH ROW
|
|
264
|
-
EXECUTE PROCEDURE "system"."trigger_event"($pga$id$pga$);
|
|
265
|
-
CREATE CONSTRAINT TRIGGER "log_event_trx"
|
|
266
|
-
AFTER INSERT OR UPDATE OR DELETE ON "post"
|
|
267
|
-
DEFERRABLE INITIALLY DEFERRED
|
|
268
|
-
FOR EACH ROW
|
|
269
|
-
EXECUTE PROCEDURE "system"."trigger_event_commit"();
|
|
270
|
-
CREATE TABLE "author" (
|
|
271
|
-
"id" uuid PRIMARY KEY NOT NULL
|
|
272
|
-
);
|
|
273
|
-
CREATE TRIGGER "log_event"
|
|
274
|
-
AFTER INSERT OR UPDATE OR DELETE ON "author"
|
|
275
|
-
FOR EACH ROW
|
|
276
|
-
EXECUTE PROCEDURE "system"."trigger_event"($pga$id$pga$);
|
|
277
|
-
CREATE CONSTRAINT TRIGGER "log_event_trx"
|
|
278
|
-
AFTER INSERT OR UPDATE OR DELETE ON "author"
|
|
279
|
-
DEFERRABLE INITIALLY DEFERRED
|
|
280
|
-
FOR EACH ROW
|
|
281
|
-
EXECUTE PROCEDURE "system"."trigger_event_commit"();
|
|
282
|
-
CREATE TABLE "post_authors" (
|
|
283
|
-
"post_id" uuid NOT NULL REFERENCES "post"("id") ON DELETE CASCADE,
|
|
284
|
-
"author_id" uuid NOT NULL REFERENCES "author"("id") ON DELETE CASCADE
|
|
285
|
-
);
|
|
286
|
-
ALTER TABLE "post_authors"
|
|
287
|
-
ADD CONSTRAINT "post_authors_pkey" PRIMARY KEY ("post_id", "author_id");
|
|
288
|
-
CREATE TRIGGER "log_event"
|
|
289
|
-
AFTER INSERT OR UPDATE OR DELETE ON "post_authors"
|
|
290
|
-
FOR EACH ROW
|
|
291
|
-
EXECUTE PROCEDURE "system"."trigger_event"($pga$post_id$pga$, $pga$author_id$pga$);
|
|
292
|
-
CREATE CONSTRAINT TRIGGER "log_event_trx"
|
|
293
|
-
AFTER INSERT OR UPDATE OR DELETE ON "post_authors"
|
|
294
|
-
DEFERRABLE INITIALLY DEFERRED
|
|
295
|
-
FOR EACH ROW
|
|
296
|
-
EXECUTE PROCEDURE "system"."trigger_event_commit"();
|
|
297
|
-
DROP TABLE "post_authors";
|
|
298
|
-
CREATE TABLE "post_authors" (
|
|
299
|
-
"post_id" uuid NOT NULL REFERENCES "post"("id") ON DELETE CASCADE,
|
|
300
|
-
"author_id" uuid NOT NULL REFERENCES "author"("id") ON DELETE CASCADE
|
|
301
|
-
);
|
|
302
|
-
ALTER TABLE "post_authors"
|
|
303
|
-
ADD CONSTRAINT "post_authors_pkey1" PRIMARY KEY ("post_id", "author_id");
|
|
304
|
-
CREATE TRIGGER "log_event"
|
|
305
|
-
AFTER INSERT OR UPDATE OR DELETE ON "post_authors"
|
|
306
|
-
FOR EACH ROW
|
|
307
|
-
EXECUTE PROCEDURE "system"."trigger_event"($pga$post_id$pga$, $pga$author_id$pga$);
|
|
308
|
-
CREATE CONSTRAINT TRIGGER "log_event_trx"
|
|
309
|
-
AFTER INSERT OR UPDATE OR DELETE ON "post_authors"
|
|
310
|
-
DEFERRABLE INITIALLY DEFERRED
|
|
311
|
-
FOR EACH ROW
|
|
312
|
-
EXECUTE PROCEDURE "system"."trigger_event_commit"();
|
|
313
|
-
`)
|
|
314
|
-
})
|