@contember/schema-migrations 1.3.0-alpha.7 → 1.3.0-beta.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.
Files changed (237) hide show
  1. package/dist/src/MigrationDescriber.d.ts +4 -4
  2. package/dist/src/MigrationDescriber.d.ts.map +1 -1
  3. package/dist/src/MigrationDescriber.js +8 -7
  4. package/dist/src/MigrationDescriber.js.map +1 -1
  5. package/dist/src/SchemaDiffer.d.ts +1 -1
  6. package/dist/src/SchemaDiffer.d.ts.map +1 -1
  7. package/dist/src/SchemaDiffer.js +10 -2
  8. package/dist/src/SchemaDiffer.js.map +1 -1
  9. package/dist/src/SchemaMigrator.d.ts +1 -2
  10. package/dist/src/SchemaMigrator.d.ts.map +1 -1
  11. package/dist/src/SchemaMigrator.js +0 -1
  12. package/dist/src/SchemaMigrator.js.map +1 -1
  13. package/dist/src/modifications/ModificationHandler.d.ts +10 -6
  14. package/dist/src/modifications/ModificationHandler.d.ts.map +1 -1
  15. package/dist/src/modifications/ModificationHandler.js.map +1 -1
  16. package/dist/src/modifications/ModificationHandlerFactory.d.ts +2 -2
  17. package/dist/src/modifications/ModificationHandlerFactory.d.ts.map +1 -1
  18. package/dist/src/modifications/ModificationHandlerFactory.js +3 -2
  19. package/dist/src/modifications/ModificationHandlerFactory.js.map +1 -1
  20. package/dist/src/modifications/ModificationVersions.d.ts +4 -3
  21. package/dist/src/modifications/ModificationVersions.d.ts.map +1 -1
  22. package/dist/src/modifications/ModificationVersions.js +5 -4
  23. package/dist/src/modifications/ModificationVersions.js.map +1 -1
  24. package/dist/src/modifications/columns/CreateColumnModification.d.ts +2 -2
  25. package/dist/src/modifications/columns/CreateColumnModification.d.ts.map +1 -1
  26. package/dist/src/modifications/columns/CreateColumnModification.js +14 -24
  27. package/dist/src/modifications/columns/CreateColumnModification.js.map +1 -1
  28. package/dist/src/modifications/columns/UpdateColumnDefinitionModification.d.ts +5 -3
  29. package/dist/src/modifications/columns/UpdateColumnDefinitionModification.d.ts.map +1 -1
  30. package/dist/src/modifications/columns/UpdateColumnDefinitionModification.js +19 -4
  31. package/dist/src/modifications/columns/UpdateColumnDefinitionModification.js.map +1 -1
  32. package/dist/src/modifications/columns/columnUtils.d.ts +14 -0
  33. package/dist/src/modifications/columns/columnUtils.d.ts.map +1 -0
  34. package/dist/src/modifications/columns/columnUtils.js +29 -0
  35. package/dist/src/modifications/columns/columnUtils.js.map +1 -0
  36. package/dist/src/modifications/constraints/CreateUniqueConstraintModification.d.ts +3 -3
  37. package/dist/src/modifications/constraints/CreateUniqueConstraintModification.d.ts.map +1 -1
  38. package/dist/src/modifications/constraints/CreateUniqueConstraintModification.js +20 -32
  39. package/dist/src/modifications/constraints/CreateUniqueConstraintModification.js.map +1 -1
  40. package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.d.ts +11 -5
  41. package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.d.ts.map +1 -1
  42. package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.js +37 -9
  43. package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.js.map +1 -1
  44. package/dist/src/modifications/constraints/utils.d.ts +7 -0
  45. package/dist/src/modifications/constraints/utils.d.ts.map +1 -0
  46. package/dist/src/modifications/constraints/utils.js +33 -0
  47. package/dist/src/modifications/constraints/utils.js.map +1 -0
  48. package/dist/src/modifications/entities/CreateEntityModification.d.ts +4 -4
  49. package/dist/src/modifications/entities/CreateEntityModification.d.ts.map +1 -1
  50. package/dist/src/modifications/entities/CreateEntityModification.js +18 -14
  51. package/dist/src/modifications/entities/CreateEntityModification.js.map +1 -1
  52. package/dist/src/modifications/entities/CreateViewModification.d.ts +2 -2
  53. package/dist/src/modifications/entities/CreateViewModification.d.ts.map +1 -1
  54. package/dist/src/modifications/entities/CreateViewModification.js +14 -10
  55. package/dist/src/modifications/entities/CreateViewModification.js.map +1 -1
  56. package/dist/src/modifications/entities/RemoveEntityModification.d.ts +3 -4
  57. package/dist/src/modifications/entities/RemoveEntityModification.d.ts.map +1 -1
  58. package/dist/src/modifications/entities/RemoveEntityModification.js +3 -2
  59. package/dist/src/modifications/entities/RemoveEntityModification.js.map +1 -1
  60. package/dist/src/modifications/entities/ToggleEventLogModification.d.ts +2 -2
  61. package/dist/src/modifications/entities/ToggleEventLogModification.d.ts.map +1 -1
  62. package/dist/src/modifications/entities/ToggleEventLogModification.js +3 -3
  63. package/dist/src/modifications/entities/ToggleEventLogModification.js.map +1 -1
  64. package/dist/src/modifications/entities/UpdateEntityNameModification.d.ts +4 -5
  65. package/dist/src/modifications/entities/UpdateEntityNameModification.d.ts.map +1 -1
  66. package/dist/src/modifications/entities/UpdateEntityNameModification.js +3 -34
  67. package/dist/src/modifications/entities/UpdateEntityNameModification.js.map +1 -1
  68. package/dist/src/modifications/fields/RemoveFieldModification.js.map +1 -1
  69. package/dist/src/modifications/fields/UpdateFieldNameModification.d.ts +4 -5
  70. package/dist/src/modifications/fields/UpdateFieldNameModification.d.ts.map +1 -1
  71. package/dist/src/modifications/fields/UpdateFieldNameModification.js +18 -42
  72. package/dist/src/modifications/fields/UpdateFieldNameModification.js.map +1 -1
  73. package/dist/src/modifications/indexes/CreateIndexModification.d.ts +5 -5
  74. package/dist/src/modifications/indexes/CreateIndexModification.d.ts.map +1 -1
  75. package/dist/src/modifications/indexes/CreateIndexModification.js +24 -35
  76. package/dist/src/modifications/indexes/CreateIndexModification.js.map +1 -1
  77. package/dist/src/modifications/indexes/RemoveIndexModification.d.ts +12 -6
  78. package/dist/src/modifications/indexes/RemoveIndexModification.d.ts.map +1 -1
  79. package/dist/src/modifications/indexes/RemoveIndexModification.js +36 -10
  80. package/dist/src/modifications/indexes/RemoveIndexModification.js.map +1 -1
  81. package/dist/src/modifications/indexes/utils.d.ts +7 -0
  82. package/dist/src/modifications/indexes/utils.d.ts.map +1 -0
  83. package/dist/src/modifications/indexes/utils.js +33 -0
  84. package/dist/src/modifications/indexes/utils.js.map +1 -0
  85. package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.d.ts +3 -4
  86. package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.d.ts.map +1 -1
  87. package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js +10 -10
  88. package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js.map +1 -1
  89. package/dist/src/modifications/relations/ConvertOneToManyRelationModification.d.ts +3 -4
  90. package/dist/src/modifications/relations/ConvertOneToManyRelationModification.d.ts.map +1 -1
  91. package/dist/src/modifications/relations/ConvertOneToManyRelationModification.js +14 -12
  92. package/dist/src/modifications/relations/ConvertOneToManyRelationModification.js.map +1 -1
  93. package/dist/src/modifications/relations/CreateRelationModification.d.ts +4 -5
  94. package/dist/src/modifications/relations/CreateRelationModification.d.ts.map +1 -1
  95. package/dist/src/modifications/relations/CreateRelationModification.js +13 -17
  96. package/dist/src/modifications/relations/CreateRelationModification.js.map +1 -1
  97. package/dist/src/modifications/relations/ToggleJunctionEventLogModification.d.ts +3 -4
  98. package/dist/src/modifications/relations/ToggleJunctionEventLogModification.d.ts.map +1 -1
  99. package/dist/src/modifications/relations/ToggleJunctionEventLogModification.js +4 -5
  100. package/dist/src/modifications/relations/ToggleJunctionEventLogModification.js.map +1 -1
  101. package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.d.ts +2 -2
  102. package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.d.ts.map +1 -1
  103. package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.js +3 -3
  104. package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.js.map +1 -1
  105. package/dist/src/modifications/relations/helpers.d.ts +4 -1
  106. package/dist/src/modifications/relations/helpers.d.ts.map +1 -1
  107. package/dist/src/modifications/relations/helpers.js +20 -17
  108. package/dist/src/modifications/relations/helpers.js.map +1 -1
  109. package/dist/src/modifications/relations/normalization.d.ts +2 -2
  110. package/dist/src/modifications/relations/normalization.d.ts.map +1 -1
  111. package/dist/src/modifications/settings/UpdateSettingsModification.d.ts +1 -1
  112. package/dist/src/modifications/settings/UpdateSettingsModification.d.ts.map +1 -1
  113. package/dist/src/modifications/upgrade/RemoveIndexNamesModification.d.ts +19 -0
  114. package/dist/src/modifications/upgrade/RemoveIndexNamesModification.d.ts.map +1 -0
  115. package/dist/src/modifications/upgrade/RemoveIndexNamesModification.js +40 -0
  116. package/dist/src/modifications/upgrade/RemoveIndexNamesModification.js.map +1 -0
  117. package/dist/src/modifications/utils/createJunctionTable.d.ts +2 -3
  118. package/dist/src/modifications/utils/createJunctionTable.d.ts.map +1 -1
  119. package/dist/src/modifications/utils/createJunctionTable.js +4 -6
  120. package/dist/src/modifications/utils/createJunctionTable.js.map +1 -1
  121. package/dist/src/modifications/utils/schemaUpdateUtils.d.ts +12 -14
  122. package/dist/src/modifications/utils/schemaUpdateUtils.d.ts.map +1 -1
  123. package/dist/src/modifications/utils/schemaUpdateUtils.js +5 -20
  124. package/dist/src/modifications/utils/schemaUpdateUtils.js.map +1 -1
  125. package/dist/src/modifications/utils/stringArrayEquals.d.ts +2 -0
  126. package/dist/src/modifications/utils/stringArrayEquals.d.ts.map +1 -0
  127. package/dist/src/modifications/utils/stringArrayEquals.js +9 -0
  128. package/dist/src/modifications/utils/stringArrayEquals.js.map +1 -0
  129. package/dist/src/modifications/utils/viewDependencies.d.ts +1 -1
  130. package/dist/src/modifications/utils/viewDependencies.d.ts.map +1 -1
  131. package/dist/src/tsconfig.tsbuildinfo +1 -1
  132. package/dist/src/utils/PartialEntity.d.ts +5 -3
  133. package/dist/src/utils/PartialEntity.d.ts.map +1 -1
  134. package/dist/tests/cases/integration/convertOneHasManyToManyHasManyRelation.test.js +1 -1
  135. package/dist/tests/cases/integration/convertOneToManyRelation.test.js +5 -5
  136. package/dist/tests/cases/integration/convertOneToManyRelation.test.js.map +1 -1
  137. package/dist/tests/cases/integration/createAndDropIndex.test.js +4 -4
  138. package/dist/tests/cases/integration/createAndDropIndex.test.js.map +1 -1
  139. package/dist/tests/cases/integration/createColumn.test.js +0 -2
  140. package/dist/tests/cases/integration/createColumn.test.js.map +1 -1
  141. package/dist/tests/cases/integration/createEntity.test.js +6 -9
  142. package/dist/tests/cases/integration/createEntity.test.js.map +1 -1
  143. package/dist/tests/cases/integration/createManyHasMany.test.js +3 -3
  144. package/dist/tests/cases/integration/createManyHasOne.test.js +4 -4
  145. package/dist/tests/cases/integration/createManyHasOne.test.js.map +1 -1
  146. package/dist/tests/cases/integration/createOneHasMany.test.js +6 -9
  147. package/dist/tests/cases/integration/createOneHasMany.test.js.map +1 -1
  148. package/dist/tests/cases/integration/createOneHasOne.test.js +6 -6
  149. package/dist/tests/cases/integration/createRelationInverseSide.test.js +1 -1
  150. package/dist/tests/cases/integration/createRelationInverseSide.test.js.map +1 -1
  151. package/dist/tests/cases/integration/createView.test.js +6 -6
  152. package/dist/tests/cases/integration/removeField.test.js +6 -6
  153. package/dist/tests/cases/integration/removeField.test.js.map +1 -1
  154. package/dist/tests/cases/integration/updateColumnDefinition.test.js +42 -4
  155. package/dist/tests/cases/integration/updateColumnDefinition.test.js.map +1 -1
  156. package/dist/tests/cases/integration/updateEntityName.test.js +1 -20
  157. package/dist/tests/cases/integration/updateEntityName.test.js.map +1 -1
  158. package/dist/tests/cases/integration/updateFieldName.test.js +1 -21
  159. package/dist/tests/cases/integration/updateFieldName.test.js.map +1 -1
  160. package/dist/tests/cases/integration/updateRelationOnDelete.test.js +2 -2
  161. package/dist/tests/cases/integration/updateRelationOnDelete.test.js.map +1 -1
  162. package/dist/tests/cases/integration/updateView.test.js +18 -18
  163. package/dist/tests/scripts/checkCreateConsistentMigrations.js +1 -1
  164. package/dist/tests/scripts/checkCreateConsistentMigrations.js.map +1 -1
  165. package/dist/tests/src/tests.d.ts.map +1 -1
  166. package/dist/tests/src/tests.js +10 -4
  167. package/dist/tests/src/tests.js.map +1 -1
  168. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  169. package/package.json +8 -9
  170. package/src/MigrationDescriber.ts +11 -9
  171. package/src/SchemaDiffer.ts +12 -13
  172. package/src/SchemaMigrator.ts +1 -3
  173. package/src/modifications/ModificationHandler.ts +10 -5
  174. package/src/modifications/ModificationHandlerFactory.ts +12 -11
  175. package/src/modifications/ModificationVersions.ts +4 -3
  176. package/src/modifications/columns/CreateColumnModification.ts +19 -27
  177. package/src/modifications/columns/UpdateColumnDefinitionModification.ts +22 -4
  178. package/src/modifications/columns/columnUtils.ts +35 -0
  179. package/src/modifications/constraints/CreateUniqueConstraintModification.ts +31 -40
  180. package/src/modifications/constraints/RemoveUniqueConstraintModification.ts +60 -15
  181. package/src/modifications/constraints/utils.ts +36 -0
  182. package/src/modifications/entities/CreateEntityModification.ts +9 -8
  183. package/src/modifications/entities/CreateViewModification.ts +4 -3
  184. package/src/modifications/entities/RemoveEntityModification.ts +5 -5
  185. package/src/modifications/entities/ToggleEventLogModification.ts +4 -3
  186. package/src/modifications/entities/UpdateEntityNameModification.ts +10 -46
  187. package/src/modifications/fields/RemoveFieldModification.ts +1 -1
  188. package/src/modifications/fields/UpdateFieldNameModification.ts +30 -57
  189. package/src/modifications/indexes/CreateIndexModification.ts +35 -41
  190. package/src/modifications/indexes/RemoveIndexModification.ts +57 -17
  191. package/src/modifications/indexes/utils.ts +30 -0
  192. package/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.ts +7 -19
  193. package/src/modifications/relations/ConvertOneToManyRelationModification.ts +21 -22
  194. package/src/modifications/relations/CreateRelationModification.ts +20 -35
  195. package/src/modifications/relations/ToggleJunctionEventLogModification.ts +4 -5
  196. package/src/modifications/relations/UpdateRelationOnDeleteModification.ts +13 -5
  197. package/src/modifications/relations/helpers.ts +27 -22
  198. package/src/modifications/upgrade/RemoveIndexNamesModification.ts +46 -0
  199. package/src/modifications/utils/createJunctionTable.ts +8 -8
  200. package/src/modifications/utils/schemaUpdateUtils.ts +5 -17
  201. package/src/modifications/utils/stringArrayEquals.ts +4 -0
  202. package/src/tsconfig.json +0 -1
  203. package/src/utils/PartialEntity.ts +7 -1
  204. package/tests/cases/integration/convertOneHasManyToManyHasManyRelation.test.ts +1 -1
  205. package/tests/cases/integration/convertOneToManyRelation.test.ts +5 -5
  206. package/tests/cases/integration/createAndDropIndex.test.ts +4 -4
  207. package/tests/cases/integration/createColumn.test.ts +0 -2
  208. package/tests/cases/integration/createEntity.test.ts +6 -9
  209. package/tests/cases/integration/createManyHasMany.test.ts +3 -3
  210. package/tests/cases/integration/createManyHasOne.test.ts +4 -4
  211. package/tests/cases/integration/createOneHasMany.test.ts +6 -9
  212. package/tests/cases/integration/createOneHasOne.test.ts +6 -6
  213. package/tests/cases/integration/createRelationInverseSide.test.ts +1 -1
  214. package/tests/cases/integration/createView.test.ts +6 -6
  215. package/tests/cases/integration/removeField.test.ts +6 -6
  216. package/tests/cases/integration/updateColumnDefinition.test.ts +36 -4
  217. package/tests/cases/integration/updateEntityName.test.ts +1 -20
  218. package/tests/cases/integration/updateFieldName.test.ts +1 -21
  219. package/tests/cases/integration/updateRelationOnDelete.test.ts +2 -2
  220. package/tests/cases/integration/updateView.test.ts +18 -18
  221. package/tests/scripts/checkCreateConsistentMigrations.ts +1 -1
  222. package/tests/src/tests.ts +13 -8
  223. package/dist/src/modifications/utils/renameConstraintsHelper.d.ts +0 -8
  224. package/dist/src/modifications/utils/renameConstraintsHelper.d.ts.map +0 -1
  225. package/dist/src/modifications/utils/renameConstraintsHelper.js +0 -31
  226. package/dist/src/modifications/utils/renameConstraintsHelper.js.map +0 -1
  227. package/dist/src/modifications/utils/schemaMeta.d.ts +0 -8
  228. package/dist/src/modifications/utils/schemaMeta.d.ts.map +0 -1
  229. package/dist/src/modifications/utils/schemaMeta.js +0 -13
  230. package/dist/src/modifications/utils/schemaMeta.js.map +0 -1
  231. package/dist/tests/cases/integration/takenIndexName.test.d.ts +0 -2
  232. package/dist/tests/cases/integration/takenIndexName.test.d.ts.map +0 -1
  233. package/dist/tests/cases/integration/takenIndexName.test.js +0 -307
  234. package/dist/tests/cases/integration/takenIndexName.test.js.map +0 -1
  235. package/src/modifications/utils/renameConstraintsHelper.ts +0 -34
  236. package/src/modifications/utils/schemaMeta.ts +0 -18
  237. package/tests/cases/integration/takenIndexName.test.ts +0 -314
@@ -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
- })