@zyno-io/dk-server-foundation 26.412.2137 → 26.601.2229
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/resources/proto/generated/devconsole/devconsole.js +1 -1
- package/dist/src/app/config.d.ts +1 -0
- package/dist/src/app/config.d.ts.map +1 -1
- package/dist/src/app/config.js +1 -1
- package/dist/src/app/config.js.map +1 -1
- package/dist/src/database/common.d.ts +3 -0
- package/dist/src/database/common.d.ts.map +1 -1
- package/dist/src/database/common.js +46 -1
- package/dist/src/database/common.js.map +1 -1
- package/dist/src/database/factory.d.ts +17 -0
- package/dist/src/database/factory.d.ts.map +1 -0
- package/dist/src/database/factory.js +53 -0
- package/dist/src/database/factory.js.map +1 -0
- package/dist/src/database/index.d.ts +2 -0
- package/dist/src/database/index.d.ts.map +1 -1
- package/dist/src/database/index.js +2 -0
- package/dist/src/database/index.js.map +1 -1
- package/dist/src/database/migration/MigrationResetCommand.d.ts.map +1 -1
- package/dist/src/database/migration/MigrationResetCommand.js +6 -20
- package/dist/src/database/migration/MigrationResetCommand.js.map +1 -1
- package/dist/src/database/migration/MigrationRunCommand.d.ts.map +1 -1
- package/dist/src/database/migration/MigrationRunCommand.js +2 -0
- package/dist/src/database/migration/MigrationRunCommand.js.map +1 -1
- package/dist/src/database/migration/create/MigrationCreateCommand.d.ts +2 -0
- package/dist/src/database/migration/create/MigrationCreateCommand.d.ts.map +1 -1
- package/dist/src/database/migration/create/MigrationCreateCommand.js +36 -11
- package/dist/src/database/migration/create/MigrationCreateCommand.js.map +1 -1
- package/dist/src/database/migration/create/builder-regenerator.d.ts +12 -0
- package/dist/src/database/migration/create/builder-regenerator.d.ts.map +1 -0
- package/dist/src/database/migration/create/builder-regenerator.js +308 -0
- package/dist/src/database/migration/create/builder-regenerator.js.map +1 -0
- package/dist/src/database/migration/create/comparator.js +33 -4
- package/dist/src/database/migration/create/comparator.js.map +1 -1
- package/dist/src/database/migration/create/db-reader.js +63 -9
- package/dist/src/database/migration/create/db-reader.js.map +1 -1
- package/dist/src/database/migration/create/ddl-generator.d.ts.map +1 -1
- package/dist/src/database/migration/create/ddl-generator.js +44 -206
- package/dist/src/database/migration/create/ddl-generator.js.map +1 -1
- package/dist/src/database/migration/create/entity-reader.js +47 -5
- package/dist/src/database/migration/create/entity-reader.js.map +1 -1
- package/dist/src/database/migration/create/file-generator.d.ts +2 -0
- package/dist/src/database/migration/create/file-generator.d.ts.map +1 -1
- package/dist/src/database/migration/create/file-generator.js +7 -2
- package/dist/src/database/migration/create/file-generator.js.map +1 -1
- package/dist/src/database/migration/create/schema-model.d.ts +9 -0
- package/dist/src/database/migration/create/schema-model.d.ts.map +1 -1
- package/dist/src/database/migration/create/schema-model.js +3 -3
- package/dist/src/database/mysql.d.ts.map +1 -1
- package/dist/src/database/mysql.js +5 -11
- package/dist/src/database/mysql.js.map +1 -1
- package/dist/src/database/postgres.d.ts +1 -0
- package/dist/src/database/postgres.d.ts.map +1 -1
- package/dist/src/database/postgres.js +1 -13
- package/dist/src/database/postgres.js.map +1 -1
- package/dist/src/database/schema/AlterBlueprint.d.ts +50 -0
- package/dist/src/database/schema/AlterBlueprint.d.ts.map +1 -0
- package/dist/src/database/schema/AlterBlueprint.js +88 -0
- package/dist/src/database/schema/AlterBlueprint.js.map +1 -0
- package/dist/src/database/schema/Blueprint.d.ts +16 -0
- package/dist/src/database/schema/Blueprint.d.ts.map +1 -0
- package/dist/src/database/schema/Blueprint.js +51 -0
- package/dist/src/database/schema/Blueprint.js.map +1 -0
- package/dist/src/database/schema/BlueprintBase.d.ts +65 -0
- package/dist/src/database/schema/BlueprintBase.d.ts.map +1 -0
- package/dist/src/database/schema/BlueprintBase.js +385 -0
- package/dist/src/database/schema/BlueprintBase.js.map +1 -0
- package/dist/src/database/schema/ColumnDefinition.d.ts +43 -0
- package/dist/src/database/schema/ColumnDefinition.d.ts.map +1 -0
- package/dist/src/database/schema/ColumnDefinition.js +117 -0
- package/dist/src/database/schema/ColumnDefinition.js.map +1 -0
- package/dist/src/database/schema/Schema.d.ts +32 -0
- package/dist/src/database/schema/Schema.d.ts.map +1 -0
- package/dist/src/database/schema/Schema.js +151 -0
- package/dist/src/database/schema/Schema.js.map +1 -0
- package/dist/src/database/schema/grammar/Grammar.d.ts +35 -0
- package/dist/src/database/schema/grammar/Grammar.d.ts.map +1 -0
- package/dist/src/database/schema/grammar/Grammar.js +36 -0
- package/dist/src/database/schema/grammar/Grammar.js.map +1 -0
- package/dist/src/database/schema/grammar/MySQLGrammar.d.ts +29 -0
- package/dist/src/database/schema/grammar/MySQLGrammar.d.ts.map +1 -0
- package/dist/src/database/schema/grammar/MySQLGrammar.js +199 -0
- package/dist/src/database/schema/grammar/MySQLGrammar.js.map +1 -0
- package/dist/src/database/schema/grammar/PostgresGrammar.d.ts +29 -0
- package/dist/src/database/schema/grammar/PostgresGrammar.d.ts.map +1 -0
- package/dist/src/database/schema/grammar/PostgresGrammar.js +233 -0
- package/dist/src/database/schema/grammar/PostgresGrammar.js.map +1 -0
- package/dist/src/database/schema/index.d.ts +9 -0
- package/dist/src/database/schema/index.d.ts.map +1 -0
- package/dist/src/database/schema/index.js +12 -0
- package/dist/src/database/schema/index.js.map +1 -0
- package/dist/src/database/types.d.ts +8 -0
- package/dist/src/database/types.d.ts.map +1 -1
- package/dist/src/database/types.js +3 -1
- package/dist/src/database/types.js.map +1 -1
- package/docs/content/cli.md +4 -1
- package/docs/content/configuration.md +6 -0
- package/docs/content/database.md +137 -0
- package/package.json +1 -1
- package/src/app/config.ts +2 -0
- package/src/database/common.ts +51 -0
- package/src/database/factory.ts +59 -0
- package/src/database/index.ts +2 -0
- package/src/database/migration/MigrationResetCommand.ts +6 -22
- package/src/database/migration/MigrationRunCommand.ts +2 -0
- package/src/database/migration/create/MigrationCreateCommand.ts +42 -12
- package/src/database/migration/create/builder-regenerator.ts +294 -0
- package/src/database/migration/create/comparator.ts +34 -4
- package/src/database/migration/create/db-reader.ts +60 -9
- package/src/database/migration/create/ddl-generator.ts +45 -212
- package/src/database/migration/create/entity-reader.ts +46 -5
- package/src/database/migration/create/file-generator.ts +5 -1
- package/src/database/migration/create/schema-model.ts +6 -0
- package/src/database/mysql.ts +7 -15
- package/src/database/postgres.ts +3 -17
- package/src/database/schema/AlterBlueprint.ts +92 -0
- package/src/database/schema/Blueprint.ts +43 -0
- package/src/database/schema/BlueprintBase.ts +425 -0
- package/src/database/schema/ColumnDefinition.ts +131 -0
- package/src/database/schema/Schema.ts +167 -0
- package/src/database/schema/grammar/Grammar.ts +62 -0
- package/src/database/schema/grammar/MySQLGrammar.ts +206 -0
- package/src/database/schema/grammar/PostgresGrammar.ts +243 -0
- package/src/database/schema/index.ts +8 -0
- package/src/database/types.ts +6 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { ColumnSchema, ForeignKeySchema, IndexSchema } from '../migration/create/schema-model';
|
|
2
|
+
import { BlueprintBase } from './BlueprintBase';
|
|
3
|
+
import { ColumnDefinition } from './ColumnDefinition';
|
|
4
|
+
/**
|
|
5
|
+
* Alter-table blueprint. Records discrete operations (add/drop/rename/change column,
|
|
6
|
+
* add/drop index/FK, set/drop primary key) for an existing table.
|
|
7
|
+
*
|
|
8
|
+
* Inherits all column-type methods from BlueprintBase — by default a column added via
|
|
9
|
+
* `t.string('email')` becomes an ADD COLUMN. Call `.change()` on the returned ColumnDefinition
|
|
10
|
+
* to mark it as a modification (MODIFY COLUMN / ALTER COLUMN) instead.
|
|
11
|
+
*/
|
|
12
|
+
export declare class AlterBlueprint extends BlueprintBase {
|
|
13
|
+
readonly addedColumns: ColumnSchema[];
|
|
14
|
+
readonly modifiedColumns: ColumnSchema[];
|
|
15
|
+
readonly droppedColumns: string[];
|
|
16
|
+
readonly renamedColumns: {
|
|
17
|
+
from: string;
|
|
18
|
+
to: string;
|
|
19
|
+
}[];
|
|
20
|
+
readonly addedIndexes: IndexSchema[];
|
|
21
|
+
readonly droppedIndexes: string[];
|
|
22
|
+
readonly renamedIndexes: {
|
|
23
|
+
from: string;
|
|
24
|
+
to: string;
|
|
25
|
+
}[];
|
|
26
|
+
readonly addedForeignKeys: ForeignKeySchema[];
|
|
27
|
+
readonly droppedForeignKeys: string[];
|
|
28
|
+
newPrimaryKey?: string[];
|
|
29
|
+
dropsPrimaryKey: boolean;
|
|
30
|
+
protected addColumnImpl(col: ColumnSchema): ColumnDefinition;
|
|
31
|
+
protected addIndexImpl(idx: IndexSchema): void;
|
|
32
|
+
protected addForeignKeyImpl(fk: ForeignKeySchema): void;
|
|
33
|
+
dropColumn(name: string): this;
|
|
34
|
+
renameColumn(from: string, to: string): this;
|
|
35
|
+
/** Drop an index by name. */
|
|
36
|
+
dropIndex(name: string): this;
|
|
37
|
+
/** Alias of dropIndex — same op at the SQL level, kept for readability. */
|
|
38
|
+
dropUnique(name: string): this;
|
|
39
|
+
/** Rename an existing index. Runs after index drops so a freed-up name can be reused. */
|
|
40
|
+
renameIndex(from: string, to: string): this;
|
|
41
|
+
/** Drop a foreign key constraint by name. */
|
|
42
|
+
dropForeign(name: string): this;
|
|
43
|
+
/** Set / replace the table's primary key. */
|
|
44
|
+
primary(columns: string[]): this;
|
|
45
|
+
/** Drop the existing primary key. Combine with `.primary([...])` to replace. */
|
|
46
|
+
dropPrimary(): this;
|
|
47
|
+
/** Called by ColumnDefinition.change() — moves a column from added → modified. */
|
|
48
|
+
markColumnAsModified(col: ColumnSchema): void;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=AlterBlueprint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AlterBlueprint.d.ts","sourceRoot":"","sources":["../../../../src/database/schema/AlterBlueprint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;;;;GAOG;AACH,qBAAa,cAAe,SAAQ,aAAa;IAC7C,SAAgB,YAAY,EAAE,YAAY,EAAE,CAAM;IAClD,SAAgB,eAAe,EAAE,YAAY,EAAE,CAAM;IACrD,SAAgB,cAAc,EAAE,MAAM,EAAE,CAAM;IAC9C,SAAgB,cAAc,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAM;IACpE,SAAgB,YAAY,EAAE,WAAW,EAAE,CAAM;IACjD,SAAgB,cAAc,EAAE,MAAM,EAAE,CAAM;IAC9C,SAAgB,cAAc,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAM;IACpE,SAAgB,gBAAgB,EAAE,gBAAgB,EAAE,CAAM;IAC1D,SAAgB,kBAAkB,EAAE,MAAM,EAAE,CAAM;IAC3C,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,UAAS;IAE/B,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,YAAY,GAAG,gBAAgB;IAK5D,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAI9C,SAAS,CAAC,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,GAAG,IAAI;IAIvD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK9B,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAK5C,6BAA6B;IAC7B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK7B,2EAA2E;IAC3E,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI9B,yFAAyF;IACzF,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAK3C,6CAA6C;IAC7C,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK/B,6CAA6C;IAC7C,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAKhC,gFAAgF;IAChF,WAAW,IAAI,IAAI;IAKnB,kFAAkF;IAClF,oBAAoB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;CAOhD"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AlterBlueprint = void 0;
|
|
4
|
+
/*@ts-ignore*/
|
|
5
|
+
var { __ΩColumnSchema, __ΩIndexSchema, __ΩForeignKeySchema } = require('../migration/create/schema-model');
|
|
6
|
+
const BlueprintBase_1 = require("./BlueprintBase");
|
|
7
|
+
const ColumnDefinition_1 = require("./ColumnDefinition");
|
|
8
|
+
/**
|
|
9
|
+
* Alter-table blueprint. Records discrete operations (add/drop/rename/change column,
|
|
10
|
+
* add/drop index/FK, set/drop primary key) for an existing table.
|
|
11
|
+
*
|
|
12
|
+
* Inherits all column-type methods from BlueprintBase — by default a column added via
|
|
13
|
+
* `t.string('email')` becomes an ADD COLUMN. Call `.change()` on the returned ColumnDefinition
|
|
14
|
+
* to mark it as a modification (MODIFY COLUMN / ALTER COLUMN) instead.
|
|
15
|
+
*/
|
|
16
|
+
class AlterBlueprint extends BlueprintBase_1.BlueprintBase {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments);
|
|
19
|
+
this.addedColumns = [];
|
|
20
|
+
this.modifiedColumns = [];
|
|
21
|
+
this.droppedColumns = [];
|
|
22
|
+
this.renamedColumns = [];
|
|
23
|
+
this.addedIndexes = [];
|
|
24
|
+
this.droppedIndexes = [];
|
|
25
|
+
this.renamedIndexes = [];
|
|
26
|
+
this.addedForeignKeys = [];
|
|
27
|
+
this.droppedForeignKeys = [];
|
|
28
|
+
this.dropsPrimaryKey = false;
|
|
29
|
+
}
|
|
30
|
+
addColumnImpl(col) {
|
|
31
|
+
this.addedColumns.push(col);
|
|
32
|
+
return new ColumnDefinition_1.ColumnDefinition(this, col);
|
|
33
|
+
}
|
|
34
|
+
addIndexImpl(idx) {
|
|
35
|
+
this.addedIndexes.push(idx);
|
|
36
|
+
}
|
|
37
|
+
addForeignKeyImpl(fk) {
|
|
38
|
+
this.addedForeignKeys.push(fk);
|
|
39
|
+
}
|
|
40
|
+
dropColumn(name) {
|
|
41
|
+
this.droppedColumns.push(name);
|
|
42
|
+
return this;
|
|
43
|
+
}
|
|
44
|
+
renameColumn(from, to) {
|
|
45
|
+
this.renamedColumns.push({ from, to });
|
|
46
|
+
return this;
|
|
47
|
+
}
|
|
48
|
+
/** Drop an index by name. */
|
|
49
|
+
dropIndex(name) {
|
|
50
|
+
this.droppedIndexes.push(name);
|
|
51
|
+
return this;
|
|
52
|
+
}
|
|
53
|
+
/** Alias of dropIndex — same op at the SQL level, kept for readability. */
|
|
54
|
+
dropUnique(name) {
|
|
55
|
+
return this.dropIndex(name);
|
|
56
|
+
}
|
|
57
|
+
/** Rename an existing index. Runs after index drops so a freed-up name can be reused. */
|
|
58
|
+
renameIndex(from, to) {
|
|
59
|
+
this.renamedIndexes.push({ from, to });
|
|
60
|
+
return this;
|
|
61
|
+
}
|
|
62
|
+
/** Drop a foreign key constraint by name. */
|
|
63
|
+
dropForeign(name) {
|
|
64
|
+
this.droppedForeignKeys.push(name);
|
|
65
|
+
return this;
|
|
66
|
+
}
|
|
67
|
+
/** Set / replace the table's primary key. */
|
|
68
|
+
primary(columns) {
|
|
69
|
+
this.newPrimaryKey = columns;
|
|
70
|
+
return this;
|
|
71
|
+
}
|
|
72
|
+
/** Drop the existing primary key. Combine with `.primary([...])` to replace. */
|
|
73
|
+
dropPrimary() {
|
|
74
|
+
this.dropsPrimaryKey = true;
|
|
75
|
+
return this;
|
|
76
|
+
}
|
|
77
|
+
/** Called by ColumnDefinition.change() — moves a column from added → modified. */
|
|
78
|
+
markColumnAsModified(col) {
|
|
79
|
+
const idx = this.addedColumns.indexOf(col);
|
|
80
|
+
if (idx >= 0) {
|
|
81
|
+
this.addedColumns.splice(idx, 1);
|
|
82
|
+
this.modifiedColumns.push(col);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
exports.AlterBlueprint = AlterBlueprint;
|
|
87
|
+
AlterBlueprint.__type = [() => BlueprintBase_1.BlueprintBase, () => __ΩColumnSchema, 'addedColumns', function () { return []; }, () => __ΩColumnSchema, 'modifiedColumns', function () { return []; }, 'droppedColumns', function () { return []; }, 'from', 'to', 'renamedColumns', function () { return []; }, () => __ΩIndexSchema, 'addedIndexes', function () { return []; }, 'droppedIndexes', function () { return []; }, 'renamedIndexes', function () { return []; }, () => __ΩForeignKeySchema, 'addedForeignKeys', function () { return []; }, 'droppedForeignKeys', function () { return []; }, 'newPrimaryKey', 'dropsPrimaryKey', function () { return false; }, () => __ΩColumnSchema, 'col', () => ColumnDefinition_1.ColumnDefinition, 'addColumnImpl', () => __ΩIndexSchema, 'idx', 'addIndexImpl', () => __ΩForeignKeySchema, 'fk', 'addForeignKeyImpl', 'name', 'dropColumn', 'renameColumn', 'dropIndex', 'dropUnique', 'renameIndex', 'dropForeign', 'columns', 'primary', 'dropPrimary', () => __ΩColumnSchema, 'markColumnAsModified', 'AlterBlueprint', 'P7!n"F3#9>$n%F3&9>\'&F3(9>)P&4*&4+MF3,9>-n.F3/9>0&F319>2P&4*&4+MF339>4n5F369>7&F389>9&F3:8)3;><Pn=2>P7?0@<PnA2B$0C<PnD2E$0F<P&2G!0HP&2*&2+!0IP&2G!0JP&2G!0KP&2*&2+!0LP&2G!0MP&F2N!0OP!0PPnQ2>$0R5wS'];
|
|
88
|
+
//# sourceMappingURL=AlterBlueprint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AlterBlueprint.js","sourceRoot":"","sources":["../../../../src/database/schema/AlterBlueprint.ts"],"names":[],"mappings":";;;;uEAA4D,kCAAkC;AAC9F,mDAAgD;AAChD,yDAAsD;AAEtD;;;;;;;GAOG;AACH,MAAa,cAAe,SAAQ,6BAAa;IAAjD;;QACoB,iBAAY,GAAmB,EAAE,CAAC;QAClC,oBAAe,GAAmB,EAAE,CAAC;QACrC,mBAAc,GAAa,EAAE,CAAC;QAC9B,mBAAc,GAAmC,EAAE,CAAC;QACpD,iBAAY,GAAkB,EAAE,CAAC;QACjC,mBAAc,GAAa,EAAE,CAAC;QAC9B,mBAAc,GAAmC,EAAE,CAAC;QACpD,qBAAgB,GAAuB,EAAE,CAAC;QAC1C,uBAAkB,GAAa,EAAE,CAAC;QAE3C,oBAAe,GAAG,KAAK,CAAC;KAoElC;IAlEa,aAAa,CAAC,GAAiB;QACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,OAAO,IAAI,mCAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAES,YAAY,CAAC,GAAgB;QACnC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAES,iBAAiB,CAAC,EAAoB;QAC5C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,UAAU,CAAC,IAAY;QACnB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,YAAY,CAAC,IAAY,EAAE,EAAU;QACjC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,6BAA6B;IAC7B,SAAS,CAAC,IAAY;QAClB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,2EAA2E;IAC3E,UAAU,CAAC,IAAY;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,yFAAyF;IACzF,WAAW,CAAC,IAAY,EAAE,EAAU;QAChC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,6CAA6C;IAC7C,WAAW,CAAC,IAAY;QACpB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,6CAA6C;IAC7C,OAAO,CAAC,OAAiB;QACrB,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,gFAAgF;IAChF,WAAW;QACP,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kFAAkF;IAClF,oBAAoB,CAAC,GAAiB;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;IACL,CAAC;;AA9EL,wCA+EC;0HA9EkD,EAAE,oEACC,EAAE,4CACT,EAAE,0DACoB,EAAE,gEACrB,EAAE,4CACL,EAAE,4CACoB,EAAE,yEACZ,EAAE,gDACV,EAAE,8DAExB,KAAK"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ColumnSchema, ForeignKeySchema, IndexSchema, TableSchema } from '../migration/create/schema-model';
|
|
2
|
+
import { BlueprintBase } from './BlueprintBase';
|
|
3
|
+
import { ColumnDefinition } from './ColumnDefinition';
|
|
4
|
+
/** Create-table blueprint. Records columns + indexes + FKs and renders a TableSchema. */
|
|
5
|
+
export declare class Blueprint extends BlueprintBase {
|
|
6
|
+
readonly columns: ColumnSchema[];
|
|
7
|
+
readonly indexes: IndexSchema[];
|
|
8
|
+
readonly foreignKeys: ForeignKeySchema[];
|
|
9
|
+
protected addColumnImpl(col: ColumnSchema): ColumnDefinition;
|
|
10
|
+
protected addIndexImpl(idx: IndexSchema): void;
|
|
11
|
+
protected addForeignKeyImpl(fk: ForeignKeySchema): void;
|
|
12
|
+
/** Composite primary key — replaces single-column .primary() flag with a multi-column PK. */
|
|
13
|
+
primary(columns: string[]): this;
|
|
14
|
+
build(): TableSchema;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=Blueprint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Blueprint.d.ts","sourceRoot":"","sources":["../../../../src/database/schema/Blueprint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC5G,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,yFAAyF;AACzF,qBAAa,SAAU,SAAQ,aAAa;IACxC,SAAgB,OAAO,EAAE,YAAY,EAAE,CAAM;IAC7C,SAAgB,OAAO,EAAE,WAAW,EAAE,CAAM;IAC5C,SAAgB,WAAW,EAAE,gBAAgB,EAAE,CAAM;IAErD,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,YAAY,GAAG,gBAAgB;IAK5D,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAI9C,SAAS,CAAC,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,GAAG,IAAI;IAIvD,6FAA6F;IAC7F,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAOhC,KAAK,IAAI,WAAW;CAWvB"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Blueprint = void 0;
|
|
4
|
+
function __assignType(fn, args) {
|
|
5
|
+
fn.__type = args;
|
|
6
|
+
return fn;
|
|
7
|
+
}
|
|
8
|
+
/*@ts-ignore*/
|
|
9
|
+
var { __ΩColumnSchema, __ΩIndexSchema, __ΩForeignKeySchema, __ΩTableSchema } = require('../migration/create/schema-model');
|
|
10
|
+
const BlueprintBase_1 = require("./BlueprintBase");
|
|
11
|
+
const ColumnDefinition_1 = require("./ColumnDefinition");
|
|
12
|
+
/** Create-table blueprint. Records columns + indexes + FKs and renders a TableSchema. */
|
|
13
|
+
class Blueprint extends BlueprintBase_1.BlueprintBase {
|
|
14
|
+
constructor() {
|
|
15
|
+
super(...arguments);
|
|
16
|
+
this.columns = [];
|
|
17
|
+
this.indexes = [];
|
|
18
|
+
this.foreignKeys = [];
|
|
19
|
+
}
|
|
20
|
+
addColumnImpl(col) {
|
|
21
|
+
this.columns.push(col);
|
|
22
|
+
return new ColumnDefinition_1.ColumnDefinition(this, col);
|
|
23
|
+
}
|
|
24
|
+
addIndexImpl(idx) {
|
|
25
|
+
this.indexes.push(idx);
|
|
26
|
+
}
|
|
27
|
+
addForeignKeyImpl(fk) {
|
|
28
|
+
this.foreignKeys.push(fk);
|
|
29
|
+
}
|
|
30
|
+
/** Composite primary key — replaces single-column .primary() flag with a multi-column PK. */
|
|
31
|
+
primary(columns) {
|
|
32
|
+
for (const col of this.columns) {
|
|
33
|
+
col.isPrimaryKey = columns.includes(col.name);
|
|
34
|
+
}
|
|
35
|
+
return this;
|
|
36
|
+
}
|
|
37
|
+
build() {
|
|
38
|
+
this.columns.forEach(__assignType((col, i) => {
|
|
39
|
+
col.ordinalPosition = i + 1;
|
|
40
|
+
}, ['col', 'i', '', 'P"2!"2""/#']));
|
|
41
|
+
return {
|
|
42
|
+
name: this.tableName,
|
|
43
|
+
columns: this.columns,
|
|
44
|
+
indexes: this.indexes,
|
|
45
|
+
foreignKeys: this.foreignKeys
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.Blueprint = Blueprint;
|
|
50
|
+
Blueprint.__type = [() => BlueprintBase_1.BlueprintBase, () => __ΩColumnSchema, 'columns', function () { return []; }, () => __ΩIndexSchema, 'indexes', function () { return []; }, () => __ΩForeignKeySchema, 'foreignKeys', function () { return []; }, () => __ΩColumnSchema, 'col', () => ColumnDefinition_1.ColumnDefinition, 'addColumnImpl', () => __ΩIndexSchema, 'idx', 'addIndexImpl', () => __ΩForeignKeySchema, 'fk', 'addForeignKeyImpl', 'primary', () => __ΩTableSchema, 'build', 'Blueprint', 'P7!n"F3#9>$n%F3&9>\'n(F3)9>*Pn+2,P7-0.<Pn/20$01<Pn223$04<P&F2#!05Pn6075w8'];
|
|
51
|
+
//# sourceMappingURL=Blueprint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Blueprint.js","sourceRoot":"","sources":["../../../../src/database/schema/Blueprint.ts"],"names":[],"mappings":";;;;;;;;uFAAyE,kCAAkC;AAC3G,mDAAgD;AAChD,yDAAsD;AAEtD,yFAAyF;AACzF,MAAa,SAAU,SAAQ,6BAAa;IAA5C;;QACoB,YAAO,GAAmB,EAAE,CAAC;QAC7B,YAAO,GAAkB,EAAE,CAAC;QAC5B,gBAAW,GAAuB,EAAE,CAAC;KAkCxD;IAhCa,aAAa,CAAC,GAAiB;QACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvB,OAAO,IAAI,mCAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAES,YAAY,CAAC,GAAgB;QACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAES,iBAAiB,CAAC,EAAoB;QAC5C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,6FAA6F;IAC7F,OAAO,CAAC,OAAiB;QACrB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7B,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,OAAO,CAAC,OAAO,cAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YAC5B,GAAG,CAAC,eAAe,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC,kCAAC,CAAC;QACH,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,SAAS;YACpB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;SAChC,CAAC;IACN,CAAC;;AApCL,8BAqCC;gHApC6C,EAAE,2DACH,EAAE,oEACO,EAAE"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { ColumnSchema, ForeignKeySchema, IndexSchema } from '../migration/create/schema-model';
|
|
2
|
+
import { ColumnDefinition, ForeignKeyBuilder } from './ColumnDefinition';
|
|
3
|
+
import { Grammar } from './grammar/Grammar';
|
|
4
|
+
/**
|
|
5
|
+
* Shared base for `Blueprint` (create-table) and `AlterBlueprint` (alter-table).
|
|
6
|
+
*
|
|
7
|
+
* Provides every column-type method (`string`, `boolean`, etc.) plus index/FK helpers.
|
|
8
|
+
* Subclasses decide where to store added columns/indexes/FKs via the abstract impl hooks.
|
|
9
|
+
*/
|
|
10
|
+
export declare abstract class BlueprintBase {
|
|
11
|
+
readonly tableName: string;
|
|
12
|
+
readonly grammar: Grammar;
|
|
13
|
+
constructor(tableName: string, grammar: Grammar);
|
|
14
|
+
protected abstract addColumnImpl(col: ColumnSchema): ColumnDefinition;
|
|
15
|
+
protected abstract addIndexImpl(idx: IndexSchema): void;
|
|
16
|
+
protected abstract addForeignKeyImpl(fk: ForeignKeySchema): void;
|
|
17
|
+
/** BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY (mysql) / BIGSERIAL PRIMARY KEY (pg). */
|
|
18
|
+
id(name?: string): ColumnDefinition;
|
|
19
|
+
string(name: string, length?: number): ColumnDefinition;
|
|
20
|
+
char(name: string, length?: number): ColumnDefinition;
|
|
21
|
+
text(name: string): ColumnDefinition;
|
|
22
|
+
/** MySQL TINYTEXT (≤255 bytes). On PostgreSQL maps to TEXT. */
|
|
23
|
+
tinyText(name: string): ColumnDefinition;
|
|
24
|
+
/** MySQL MEDIUMTEXT (≤16MB). On PostgreSQL maps to TEXT. */
|
|
25
|
+
mediumText(name: string): ColumnDefinition;
|
|
26
|
+
/** MySQL LONGTEXT (≤4GB). On PostgreSQL maps to TEXT. */
|
|
27
|
+
longText(name: string): ColumnDefinition;
|
|
28
|
+
tinyint(name: string): ColumnDefinition;
|
|
29
|
+
smallint(name: string): ColumnDefinition;
|
|
30
|
+
integer(name: string): ColumnDefinition;
|
|
31
|
+
bigInteger(name: string): ColumnDefinition;
|
|
32
|
+
boolean(name: string): ColumnDefinition;
|
|
33
|
+
float(name: string): ColumnDefinition;
|
|
34
|
+
double(name: string): ColumnDefinition;
|
|
35
|
+
decimal(name: string, precision?: number, scale?: number): ColumnDefinition;
|
|
36
|
+
date(name: string): ColumnDefinition;
|
|
37
|
+
/** MySQL: DATETIME. PG: TIMESTAMP (no tz). Use timestamptz() for tz-aware. */
|
|
38
|
+
dateTime(name: string): ColumnDefinition;
|
|
39
|
+
timestamp(name: string): ColumnDefinition;
|
|
40
|
+
timestamptz(name: string): ColumnDefinition;
|
|
41
|
+
binary(name: string, length?: number): ColumnDefinition;
|
|
42
|
+
blob(name: string): ColumnDefinition;
|
|
43
|
+
json(name: string): ColumnDefinition;
|
|
44
|
+
/** PG: JSONB. MySQL: JSON (no jsonb equivalent). */
|
|
45
|
+
jsonb(name: string): ColumnDefinition;
|
|
46
|
+
/** Canonical (binary) UUID storage. PG: UUID. MySQL: BINARY(16). */
|
|
47
|
+
uuid(name: string): ColumnDefinition;
|
|
48
|
+
/** String-form UUID storage. Both dialects: CHAR(36). */
|
|
49
|
+
uuidString(name: string): ColumnDefinition;
|
|
50
|
+
/** Enum. On PG, generates a CREATE TYPE; pass `typeName` to share across tables. */
|
|
51
|
+
enum(name: string, values: string[], typeName?: string): ColumnDefinition;
|
|
52
|
+
/** MySQL only — throws on PostgreSQL. */
|
|
53
|
+
point(name: string): ColumnDefinition;
|
|
54
|
+
/** Adds createdAt + updatedAt with DEFAULT CURRENT_TIMESTAMP (and ON UPDATE CURRENT_TIMESTAMP for updatedAt on MySQL). */
|
|
55
|
+
timestamps(): void;
|
|
56
|
+
index(columns: string | string[], name?: string): this;
|
|
57
|
+
unique(columns: string | string[], name?: string): this;
|
|
58
|
+
/** MySQL only — silently no-op on PG. */
|
|
59
|
+
spatialIndex(columns: string | string[], name?: string): this;
|
|
60
|
+
foreign(columns: string | string[], constraintName?: string): ForeignKeyBuilder;
|
|
61
|
+
/** Composite primary key. Subclass-specific behavior. */
|
|
62
|
+
abstract primary(columns: string[]): this;
|
|
63
|
+
protected defaultIndexName(columns: string[], suffix: string): string;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=BlueprintBase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlueprintBase.d.ts","sourceRoot":"","sources":["../../../../src/database/schema/BlueprintBase.ts"],"names":[],"mappings":"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"}
|