@orchestr-sh/orchestr 1.5.11 → 1.6.0
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/README.md +199 -0
- package/dist/Console/Command.d.ts +59 -0
- package/dist/Console/Command.d.ts.map +1 -0
- package/dist/Console/Command.js +68 -0
- package/dist/Console/Command.js.map +1 -0
- package/dist/Console/Commands/MakeMigrationCommand.d.ts +15 -0
- package/dist/Console/Commands/MakeMigrationCommand.d.ts.map +1 -0
- package/dist/Console/Commands/MakeMigrationCommand.js +41 -0
- package/dist/Console/Commands/MakeMigrationCommand.js.map +1 -0
- package/dist/Console/Commands/MakeSeederCommand.d.ts +23 -0
- package/dist/Console/Commands/MakeSeederCommand.d.ts.map +1 -0
- package/dist/Console/Commands/MakeSeederCommand.js +109 -0
- package/dist/Console/Commands/MakeSeederCommand.js.map +1 -0
- package/dist/Console/Commands/MigrateCommand.d.ts +15 -0
- package/dist/Console/Commands/MigrateCommand.d.ts.map +1 -0
- package/dist/Console/Commands/MigrateCommand.js +48 -0
- package/dist/Console/Commands/MigrateCommand.js.map +1 -0
- package/dist/Console/Commands/MigrateFreshCommand.d.ts +15 -0
- package/dist/Console/Commands/MigrateFreshCommand.d.ts.map +1 -0
- package/dist/Console/Commands/MigrateFreshCommand.js +54 -0
- package/dist/Console/Commands/MigrateFreshCommand.js.map +1 -0
- package/dist/Console/Commands/MigrateRefreshCommand.d.ts +15 -0
- package/dist/Console/Commands/MigrateRefreshCommand.d.ts.map +1 -0
- package/dist/Console/Commands/MigrateRefreshCommand.js +52 -0
- package/dist/Console/Commands/MigrateRefreshCommand.js.map +1 -0
- package/dist/Console/Commands/MigrateResetCommand.d.ts +15 -0
- package/dist/Console/Commands/MigrateResetCommand.d.ts.map +1 -0
- package/dist/Console/Commands/MigrateResetCommand.js +46 -0
- package/dist/Console/Commands/MigrateResetCommand.js.map +1 -0
- package/dist/Console/Commands/MigrateRollbackCommand.d.ts +15 -0
- package/dist/Console/Commands/MigrateRollbackCommand.d.ts.map +1 -0
- package/dist/Console/Commands/MigrateRollbackCommand.js +49 -0
- package/dist/Console/Commands/MigrateRollbackCommand.js.map +1 -0
- package/dist/Console/Commands/MigrateStatusCommand.d.ts +15 -0
- package/dist/Console/Commands/MigrateStatusCommand.d.ts.map +1 -0
- package/dist/Console/Commands/MigrateStatusCommand.js +58 -0
- package/dist/Console/Commands/MigrateStatusCommand.js.map +1 -0
- package/dist/Console/Commands/SeedCommand.d.ts +15 -0
- package/dist/Console/Commands/SeedCommand.d.ts.map +1 -0
- package/dist/Console/Commands/SeedCommand.js +44 -0
- package/dist/Console/Commands/SeedCommand.js.map +1 -0
- package/dist/Console/ConsoleKernel.d.ts +45 -0
- package/dist/Console/ConsoleKernel.d.ts.map +1 -0
- package/dist/Console/ConsoleKernel.js +109 -0
- package/dist/Console/ConsoleKernel.js.map +1 -0
- package/dist/Console/orchestr.d.ts +8 -0
- package/dist/Console/orchestr.d.ts.map +1 -0
- package/dist/Console/orchestr.js +45 -0
- package/dist/Console/orchestr.js.map +1 -0
- package/dist/Database/Migrations/Blueprint.d.ts +166 -0
- package/dist/Database/Migrations/Blueprint.d.ts.map +1 -0
- package/dist/Database/Migrations/Blueprint.js +318 -0
- package/dist/Database/Migrations/Blueprint.js.map +1 -0
- package/dist/Database/Migrations/ColumnDefinition.d.ts +62 -0
- package/dist/Database/Migrations/ColumnDefinition.d.ts.map +1 -0
- package/dist/Database/Migrations/ColumnDefinition.js +95 -0
- package/dist/Database/Migrations/ColumnDefinition.js.map +1 -0
- package/dist/Database/Migrations/ForeignKeyDefinition.d.ts +32 -0
- package/dist/Database/Migrations/ForeignKeyDefinition.d.ts.map +1 -0
- package/dist/Database/Migrations/ForeignKeyDefinition.js +50 -0
- package/dist/Database/Migrations/ForeignKeyDefinition.js.map +1 -0
- package/dist/Database/Migrations/Migration.d.ts +17 -0
- package/dist/Database/Migrations/Migration.d.ts.map +1 -0
- package/dist/Database/Migrations/Migration.js +12 -0
- package/dist/Database/Migrations/Migration.js.map +1 -0
- package/dist/Database/Migrations/MigrationCreator.d.ts +42 -0
- package/dist/Database/Migrations/MigrationCreator.d.ts.map +1 -0
- package/dist/Database/Migrations/MigrationCreator.js +184 -0
- package/dist/Database/Migrations/MigrationCreator.js.map +1 -0
- package/dist/Database/Migrations/MigrationRepository.d.ts +65 -0
- package/dist/Database/Migrations/MigrationRepository.d.ts.map +1 -0
- package/dist/Database/Migrations/MigrationRepository.js +135 -0
- package/dist/Database/Migrations/MigrationRepository.js.map +1 -0
- package/dist/Database/Migrations/Migrator.d.ts +84 -0
- package/dist/Database/Migrations/Migrator.d.ts.map +1 -0
- package/dist/Database/Migrations/Migrator.js +239 -0
- package/dist/Database/Migrations/Migrator.js.map +1 -0
- package/dist/Database/Migrations/SchemaBuilder.d.ts +136 -0
- package/dist/Database/Migrations/SchemaBuilder.d.ts.map +1 -0
- package/dist/Database/Migrations/SchemaBuilder.js +515 -0
- package/dist/Database/Migrations/SchemaBuilder.js.map +1 -0
- package/dist/Database/Seeders/Seeder.d.ts +29 -0
- package/dist/Database/Seeders/Seeder.d.ts.map +1 -0
- package/dist/Database/Seeders/Seeder.js +41 -0
- package/dist/Database/Seeders/Seeder.js.map +1 -0
- package/dist/Database/Seeders/SeederRunner.d.ts +41 -0
- package/dist/Database/Seeders/SeederRunner.d.ts.map +1 -0
- package/dist/Database/Seeders/SeederRunner.js +134 -0
- package/dist/Database/Seeders/SeederRunner.js.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +48 -0
- package/dist/index.js.map +1 -1
- package/package.json +4 -1
|
@@ -0,0 +1,515 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* SchemaBuilder
|
|
4
|
+
*
|
|
5
|
+
* Builds and executes schema migrations with support for multiple database drivers
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.SchemaBuilder = void 0;
|
|
9
|
+
const Blueprint_1 = require("./Blueprint");
|
|
10
|
+
class SchemaBuilder {
|
|
11
|
+
connection;
|
|
12
|
+
driver;
|
|
13
|
+
constructor(connection) {
|
|
14
|
+
this.connection = connection;
|
|
15
|
+
this.driver = connection.getConfig().driver;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Create a new table
|
|
19
|
+
*/
|
|
20
|
+
async create(tableName, callback) {
|
|
21
|
+
const blueprint = new Blueprint_1.Blueprint(tableName);
|
|
22
|
+
blueprint.isCreate = true;
|
|
23
|
+
callback(blueprint);
|
|
24
|
+
const sql = this.compileCreate(blueprint);
|
|
25
|
+
await this.connection.query(sql);
|
|
26
|
+
// Create indexes
|
|
27
|
+
for (const index of blueprint.indexes) {
|
|
28
|
+
const indexSql = this.compileIndex(tableName, index);
|
|
29
|
+
if (indexSql) {
|
|
30
|
+
await this.connection.query(indexSql);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
// Create foreign keys
|
|
34
|
+
for (const fk of blueprint.foreignKeys) {
|
|
35
|
+
const fkSql = this.compileForeignKey(tableName, fk);
|
|
36
|
+
if (fkSql) {
|
|
37
|
+
await this.connection.query(fkSql);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Drop a table
|
|
43
|
+
*/
|
|
44
|
+
async drop(tableName) {
|
|
45
|
+
const sql = `DROP TABLE ${this.wrapTable(tableName)}`;
|
|
46
|
+
await this.connection.query(sql);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Drop a table if it exists
|
|
50
|
+
*/
|
|
51
|
+
async dropIfExists(tableName) {
|
|
52
|
+
const sql = `DROP TABLE IF EXISTS ${this.wrapTable(tableName)}`;
|
|
53
|
+
await this.connection.query(sql);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Rename a table
|
|
57
|
+
*/
|
|
58
|
+
async rename(from, to) {
|
|
59
|
+
const sql = this.compileRename(from, to);
|
|
60
|
+
await this.connection.query(sql);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Determine if a table exists
|
|
64
|
+
*/
|
|
65
|
+
async hasTable(tableName) {
|
|
66
|
+
const sql = this.compileHasTable(tableName);
|
|
67
|
+
const results = await this.connection.select(sql);
|
|
68
|
+
return results.length > 0;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Determine if a column exists on a table
|
|
72
|
+
*/
|
|
73
|
+
async hasColumn(tableName, columnName) {
|
|
74
|
+
const sql = this.compileHasColumn(tableName, columnName);
|
|
75
|
+
const results = await this.connection.select(sql);
|
|
76
|
+
return results.length > 0;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Modify an existing table
|
|
80
|
+
*/
|
|
81
|
+
async table(tableName, callback) {
|
|
82
|
+
const blueprint = new Blueprint_1.Blueprint(tableName);
|
|
83
|
+
blueprint.isCreate = false;
|
|
84
|
+
callback(blueprint);
|
|
85
|
+
// Add new columns
|
|
86
|
+
for (const column of blueprint.columns) {
|
|
87
|
+
const sql = this.compileAddColumn(tableName, column);
|
|
88
|
+
await this.connection.query(sql);
|
|
89
|
+
}
|
|
90
|
+
// Execute commands (drop, rename, etc.)
|
|
91
|
+
for (const command of blueprint.commands) {
|
|
92
|
+
const sql = this.compileCommand(tableName, command);
|
|
93
|
+
if (sql) {
|
|
94
|
+
await this.connection.query(sql);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
// Create indexes
|
|
98
|
+
for (const index of blueprint.indexes) {
|
|
99
|
+
const indexSql = this.compileIndex(tableName, index);
|
|
100
|
+
if (indexSql) {
|
|
101
|
+
await this.connection.query(indexSql);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
// Create foreign keys
|
|
105
|
+
for (const fk of blueprint.foreignKeys) {
|
|
106
|
+
const fkSql = this.compileForeignKey(tableName, fk);
|
|
107
|
+
if (fkSql) {
|
|
108
|
+
await this.connection.query(fkSql);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Compile CREATE TABLE statement
|
|
114
|
+
*/
|
|
115
|
+
compileCreate(blueprint) {
|
|
116
|
+
const columns = blueprint.columns.map((col) => this.compileColumnDefinition(col)).join(', ');
|
|
117
|
+
let sql = `CREATE TABLE ${this.wrapTable(blueprint.table)} (${columns}`;
|
|
118
|
+
// Add primary key if defined in indexes
|
|
119
|
+
const primaryKey = blueprint.indexes.find((idx) => idx.type === 'primary');
|
|
120
|
+
if (primaryKey) {
|
|
121
|
+
sql += `, PRIMARY KEY (${primaryKey.columns.map((c) => this.wrap(c)).join(', ')})`;
|
|
122
|
+
}
|
|
123
|
+
sql += ')';
|
|
124
|
+
return sql;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Compile column definition
|
|
128
|
+
*/
|
|
129
|
+
compileColumnDefinition(column) {
|
|
130
|
+
let sql = this.wrap(column.name) + ' ' + this.getColumnType(column);
|
|
131
|
+
if (column.isAutoIncrement) {
|
|
132
|
+
sql += this.getAutoIncrementClause(column);
|
|
133
|
+
}
|
|
134
|
+
if (!column.isNullable && !column.isAutoIncrement) {
|
|
135
|
+
sql += ' NOT NULL';
|
|
136
|
+
}
|
|
137
|
+
if (column.defaultValue !== undefined) {
|
|
138
|
+
sql += ' DEFAULT ' + this.getDefaultValue(column.defaultValue);
|
|
139
|
+
}
|
|
140
|
+
return sql;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Get column type SQL
|
|
144
|
+
*/
|
|
145
|
+
getColumnType(column) {
|
|
146
|
+
switch (this.driver) {
|
|
147
|
+
case 'sqlite':
|
|
148
|
+
return this.getSQLiteColumnType(column);
|
|
149
|
+
case 'postgres':
|
|
150
|
+
case 'postgresql':
|
|
151
|
+
return this.getPostgresColumnType(column);
|
|
152
|
+
case 'mysql':
|
|
153
|
+
return this.getMySQLColumnType(column);
|
|
154
|
+
default:
|
|
155
|
+
return this.getSQLiteColumnType(column);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Get SQLite column type
|
|
160
|
+
*/
|
|
161
|
+
getSQLiteColumnType(column) {
|
|
162
|
+
switch (column.type) {
|
|
163
|
+
case 'bigIncrements':
|
|
164
|
+
case 'increments':
|
|
165
|
+
return 'INTEGER';
|
|
166
|
+
case 'bigInteger':
|
|
167
|
+
case 'integer':
|
|
168
|
+
case 'smallInteger':
|
|
169
|
+
case 'tinyInteger':
|
|
170
|
+
return 'INTEGER';
|
|
171
|
+
case 'string':
|
|
172
|
+
case 'uuid':
|
|
173
|
+
return column.length ? `VARCHAR(${column.length})` : 'VARCHAR(255)';
|
|
174
|
+
case 'text':
|
|
175
|
+
case 'mediumText':
|
|
176
|
+
case 'longText':
|
|
177
|
+
return 'TEXT';
|
|
178
|
+
case 'decimal':
|
|
179
|
+
case 'float':
|
|
180
|
+
case 'double':
|
|
181
|
+
return 'REAL';
|
|
182
|
+
case 'boolean':
|
|
183
|
+
return 'INTEGER';
|
|
184
|
+
case 'date':
|
|
185
|
+
return 'DATE';
|
|
186
|
+
case 'datetime':
|
|
187
|
+
case 'timestamp':
|
|
188
|
+
return 'DATETIME';
|
|
189
|
+
case 'json':
|
|
190
|
+
case 'jsonb':
|
|
191
|
+
return 'TEXT';
|
|
192
|
+
case 'binary':
|
|
193
|
+
return 'BLOB';
|
|
194
|
+
case 'enum':
|
|
195
|
+
return 'TEXT';
|
|
196
|
+
default:
|
|
197
|
+
return 'TEXT';
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Get PostgreSQL column type
|
|
202
|
+
*/
|
|
203
|
+
getPostgresColumnType(column) {
|
|
204
|
+
switch (column.type) {
|
|
205
|
+
case 'bigIncrements':
|
|
206
|
+
return 'BIGSERIAL';
|
|
207
|
+
case 'increments':
|
|
208
|
+
return 'SERIAL';
|
|
209
|
+
case 'bigInteger':
|
|
210
|
+
return 'BIGINT';
|
|
211
|
+
case 'integer':
|
|
212
|
+
return 'INTEGER';
|
|
213
|
+
case 'smallInteger':
|
|
214
|
+
return 'SMALLINT';
|
|
215
|
+
case 'tinyInteger':
|
|
216
|
+
return 'SMALLINT';
|
|
217
|
+
case 'string':
|
|
218
|
+
return column.length ? `VARCHAR(${column.length})` : 'VARCHAR(255)';
|
|
219
|
+
case 'uuid':
|
|
220
|
+
return 'UUID';
|
|
221
|
+
case 'text':
|
|
222
|
+
return 'TEXT';
|
|
223
|
+
case 'mediumText':
|
|
224
|
+
case 'longText':
|
|
225
|
+
return 'TEXT';
|
|
226
|
+
case 'decimal':
|
|
227
|
+
return column.precision && column.scale
|
|
228
|
+
? `DECIMAL(${column.precision}, ${column.scale})`
|
|
229
|
+
: 'DECIMAL(8, 2)';
|
|
230
|
+
case 'float':
|
|
231
|
+
return 'REAL';
|
|
232
|
+
case 'double':
|
|
233
|
+
return 'DOUBLE PRECISION';
|
|
234
|
+
case 'boolean':
|
|
235
|
+
return 'BOOLEAN';
|
|
236
|
+
case 'date':
|
|
237
|
+
return 'DATE';
|
|
238
|
+
case 'datetime':
|
|
239
|
+
return column.precision ? `TIMESTAMP(${column.precision})` : 'TIMESTAMP';
|
|
240
|
+
case 'timestamp':
|
|
241
|
+
return column.precision ? `TIMESTAMP(${column.precision})` : 'TIMESTAMP';
|
|
242
|
+
case 'json':
|
|
243
|
+
return 'JSON';
|
|
244
|
+
case 'jsonb':
|
|
245
|
+
return 'JSONB';
|
|
246
|
+
case 'binary':
|
|
247
|
+
return 'BYTEA';
|
|
248
|
+
case 'enum':
|
|
249
|
+
// PostgreSQL enums would need to be created separately, use VARCHAR for simplicity
|
|
250
|
+
return 'VARCHAR(255)';
|
|
251
|
+
default:
|
|
252
|
+
return 'TEXT';
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Get MySQL column type
|
|
257
|
+
*/
|
|
258
|
+
getMySQLColumnType(column) {
|
|
259
|
+
switch (column.type) {
|
|
260
|
+
case 'bigIncrements':
|
|
261
|
+
return 'BIGINT UNSIGNED AUTO_INCREMENT';
|
|
262
|
+
case 'increments':
|
|
263
|
+
return 'INT UNSIGNED AUTO_INCREMENT';
|
|
264
|
+
case 'bigInteger':
|
|
265
|
+
return column.isUnsigned ? 'BIGINT UNSIGNED' : 'BIGINT';
|
|
266
|
+
case 'integer':
|
|
267
|
+
return column.isUnsigned ? 'INT UNSIGNED' : 'INT';
|
|
268
|
+
case 'smallInteger':
|
|
269
|
+
return column.isUnsigned ? 'SMALLINT UNSIGNED' : 'SMALLINT';
|
|
270
|
+
case 'tinyInteger':
|
|
271
|
+
return column.isUnsigned ? 'TINYINT UNSIGNED' : 'TINYINT';
|
|
272
|
+
case 'string':
|
|
273
|
+
return column.length ? `VARCHAR(${column.length})` : 'VARCHAR(255)';
|
|
274
|
+
case 'uuid':
|
|
275
|
+
return 'CHAR(36)';
|
|
276
|
+
case 'text':
|
|
277
|
+
return 'TEXT';
|
|
278
|
+
case 'mediumText':
|
|
279
|
+
return 'MEDIUMTEXT';
|
|
280
|
+
case 'longText':
|
|
281
|
+
return 'LONGTEXT';
|
|
282
|
+
case 'decimal':
|
|
283
|
+
return column.precision && column.scale
|
|
284
|
+
? `DECIMAL(${column.precision}, ${column.scale})`
|
|
285
|
+
: 'DECIMAL(8, 2)';
|
|
286
|
+
case 'float':
|
|
287
|
+
return column.precision && column.scale
|
|
288
|
+
? `FLOAT(${column.precision}, ${column.scale})`
|
|
289
|
+
: 'FLOAT';
|
|
290
|
+
case 'double':
|
|
291
|
+
return column.precision && column.scale
|
|
292
|
+
? `DOUBLE(${column.precision}, ${column.scale})`
|
|
293
|
+
: 'DOUBLE';
|
|
294
|
+
case 'boolean':
|
|
295
|
+
return 'TINYINT(1)';
|
|
296
|
+
case 'date':
|
|
297
|
+
return 'DATE';
|
|
298
|
+
case 'datetime':
|
|
299
|
+
return column.precision ? `DATETIME(${column.precision})` : 'DATETIME';
|
|
300
|
+
case 'timestamp':
|
|
301
|
+
return column.precision ? `TIMESTAMP(${column.precision})` : 'TIMESTAMP';
|
|
302
|
+
case 'json':
|
|
303
|
+
return 'JSON';
|
|
304
|
+
case 'jsonb':
|
|
305
|
+
return 'JSON';
|
|
306
|
+
case 'binary':
|
|
307
|
+
return 'BLOB';
|
|
308
|
+
case 'enum':
|
|
309
|
+
return column.enumValues
|
|
310
|
+
? `ENUM(${column.enumValues.map((v) => `'${v}'`).join(', ')})`
|
|
311
|
+
: 'VARCHAR(255)';
|
|
312
|
+
default:
|
|
313
|
+
return 'TEXT';
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Get auto increment clause
|
|
318
|
+
*/
|
|
319
|
+
getAutoIncrementClause(column) {
|
|
320
|
+
switch (this.driver) {
|
|
321
|
+
case 'sqlite':
|
|
322
|
+
return column.isPrimary ? ' PRIMARY KEY AUTOINCREMENT' : '';
|
|
323
|
+
case 'postgres':
|
|
324
|
+
case 'postgresql':
|
|
325
|
+
return ''; // Already handled in type (SERIAL/BIGSERIAL)
|
|
326
|
+
case 'mysql':
|
|
327
|
+
return ''; // Already handled in type
|
|
328
|
+
default:
|
|
329
|
+
return column.isPrimary ? ' PRIMARY KEY AUTOINCREMENT' : '';
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* Get default value SQL
|
|
334
|
+
*/
|
|
335
|
+
getDefaultValue(value) {
|
|
336
|
+
if (value === null) {
|
|
337
|
+
return 'NULL';
|
|
338
|
+
}
|
|
339
|
+
if (typeof value === 'string') {
|
|
340
|
+
return `'${value}'`;
|
|
341
|
+
}
|
|
342
|
+
if (typeof value === 'boolean') {
|
|
343
|
+
if (this.driver === 'postgres' || this.driver === 'postgresql') {
|
|
344
|
+
return value ? 'TRUE' : 'FALSE';
|
|
345
|
+
}
|
|
346
|
+
return value ? '1' : '0';
|
|
347
|
+
}
|
|
348
|
+
return String(value);
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* Compile ADD COLUMN statement
|
|
352
|
+
*/
|
|
353
|
+
compileAddColumn(tableName, column) {
|
|
354
|
+
const columnDef = this.compileColumnDefinition(column);
|
|
355
|
+
return `ALTER TABLE ${this.wrapTable(tableName)} ADD COLUMN ${columnDef}`;
|
|
356
|
+
}
|
|
357
|
+
/**
|
|
358
|
+
* Compile command (drop, rename, etc.)
|
|
359
|
+
*/
|
|
360
|
+
compileCommand(tableName, command) {
|
|
361
|
+
switch (command.type) {
|
|
362
|
+
case 'dropColumn':
|
|
363
|
+
return this.compileDropColumn(tableName, command.columns);
|
|
364
|
+
case 'dropIndex':
|
|
365
|
+
return this.compileDropIndex(tableName, command.name);
|
|
366
|
+
case 'dropForeign':
|
|
367
|
+
return this.compileDropForeign(tableName, command.name);
|
|
368
|
+
case 'renameColumn':
|
|
369
|
+
return this.compileRenameColumn(tableName, command.from, command.to);
|
|
370
|
+
default:
|
|
371
|
+
return null;
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
/**
|
|
375
|
+
* Compile DROP COLUMN statement
|
|
376
|
+
*/
|
|
377
|
+
compileDropColumn(tableName, columns) {
|
|
378
|
+
const cols = columns.map((col) => `DROP COLUMN ${this.wrap(col)}`).join(', ');
|
|
379
|
+
return `ALTER TABLE ${this.wrapTable(tableName)} ${cols}`;
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* Compile DROP INDEX statement
|
|
383
|
+
*/
|
|
384
|
+
compileDropIndex(tableName, indexName) {
|
|
385
|
+
if (this.driver === 'mysql') {
|
|
386
|
+
return `ALTER TABLE ${this.wrapTable(tableName)} DROP INDEX ${this.wrap(indexName)}`;
|
|
387
|
+
}
|
|
388
|
+
return `DROP INDEX ${this.wrap(indexName)}`;
|
|
389
|
+
}
|
|
390
|
+
/**
|
|
391
|
+
* Compile DROP FOREIGN KEY statement
|
|
392
|
+
*/
|
|
393
|
+
compileDropForeign(tableName, keyName) {
|
|
394
|
+
return `ALTER TABLE ${this.wrapTable(tableName)} DROP FOREIGN KEY ${this.wrap(keyName)}`;
|
|
395
|
+
}
|
|
396
|
+
/**
|
|
397
|
+
* Compile RENAME COLUMN statement
|
|
398
|
+
*/
|
|
399
|
+
compileRenameColumn(tableName, from, to) {
|
|
400
|
+
if (this.driver === 'sqlite') {
|
|
401
|
+
// SQLite doesn't support RENAME COLUMN directly in older versions
|
|
402
|
+
return `ALTER TABLE ${this.wrapTable(tableName)} RENAME COLUMN ${this.wrap(from)} TO ${this.wrap(to)}`;
|
|
403
|
+
}
|
|
404
|
+
return `ALTER TABLE ${this.wrapTable(tableName)} RENAME COLUMN ${this.wrap(from)} TO ${this.wrap(to)}`;
|
|
405
|
+
}
|
|
406
|
+
/**
|
|
407
|
+
* Compile index creation
|
|
408
|
+
*/
|
|
409
|
+
compileIndex(tableName, index) {
|
|
410
|
+
if (index.type === 'primary') {
|
|
411
|
+
// Primary keys are handled in CREATE TABLE
|
|
412
|
+
return null;
|
|
413
|
+
}
|
|
414
|
+
const columns = index.columns.map((col) => this.wrap(col)).join(', ');
|
|
415
|
+
const indexName = index.name || this.createIndexName(tableName, index.columns, index.type);
|
|
416
|
+
if (index.type === 'unique') {
|
|
417
|
+
return `CREATE UNIQUE INDEX ${this.wrap(indexName)} ON ${this.wrapTable(tableName)} (${columns})`;
|
|
418
|
+
}
|
|
419
|
+
return `CREATE INDEX ${this.wrap(indexName)} ON ${this.wrapTable(tableName)} (${columns})`;
|
|
420
|
+
}
|
|
421
|
+
/**
|
|
422
|
+
* Compile foreign key creation
|
|
423
|
+
*/
|
|
424
|
+
compileForeignKey(tableName, fk) {
|
|
425
|
+
if (!fk.referencedTable || !fk.referencedColumns) {
|
|
426
|
+
return null;
|
|
427
|
+
}
|
|
428
|
+
const columns = fk.columns.map((col) => this.wrap(col)).join(', ');
|
|
429
|
+
const refColumns = fk.referencedColumns.map((col) => this.wrap(col)).join(', ');
|
|
430
|
+
const keyName = fk.name || this.createForeignKeyName(tableName, fk.columns);
|
|
431
|
+
let sql = `ALTER TABLE ${this.wrapTable(tableName)} ADD CONSTRAINT ${this.wrap(keyName)} `;
|
|
432
|
+
sql += `FOREIGN KEY (${columns}) REFERENCES ${this.wrapTable(fk.referencedTable)} (${refColumns})`;
|
|
433
|
+
if (fk.onDeleteAction) {
|
|
434
|
+
sql += ` ON DELETE ${fk.onDeleteAction.toUpperCase()}`;
|
|
435
|
+
}
|
|
436
|
+
if (fk.onUpdateAction) {
|
|
437
|
+
sql += ` ON UPDATE ${fk.onUpdateAction.toUpperCase()}`;
|
|
438
|
+
}
|
|
439
|
+
return sql;
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* Compile RENAME TABLE statement
|
|
443
|
+
*/
|
|
444
|
+
compileRename(from, to) {
|
|
445
|
+
return `ALTER TABLE ${this.wrapTable(from)} RENAME TO ${this.wrapTable(to)}`;
|
|
446
|
+
}
|
|
447
|
+
/**
|
|
448
|
+
* Compile has table check
|
|
449
|
+
*/
|
|
450
|
+
compileHasTable(tableName) {
|
|
451
|
+
switch (this.driver) {
|
|
452
|
+
case 'sqlite':
|
|
453
|
+
return `SELECT name FROM sqlite_master WHERE type='table' AND name='${tableName}'`;
|
|
454
|
+
case 'postgres':
|
|
455
|
+
case 'postgresql':
|
|
456
|
+
return `SELECT tablename FROM pg_tables WHERE tablename='${tableName}'`;
|
|
457
|
+
case 'mysql':
|
|
458
|
+
return `SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_NAME='${tableName}'`;
|
|
459
|
+
default:
|
|
460
|
+
return `SELECT name FROM sqlite_master WHERE type='table' AND name='${tableName}'`;
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
/**
|
|
464
|
+
* Compile has column check
|
|
465
|
+
*/
|
|
466
|
+
compileHasColumn(tableName, columnName) {
|
|
467
|
+
switch (this.driver) {
|
|
468
|
+
case 'sqlite':
|
|
469
|
+
return `PRAGMA table_info(${tableName})`;
|
|
470
|
+
case 'postgres':
|
|
471
|
+
case 'postgresql':
|
|
472
|
+
return `SELECT column_name FROM information_schema.columns WHERE table_name='${tableName}' AND column_name='${columnName}'`;
|
|
473
|
+
case 'mysql':
|
|
474
|
+
return `SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_NAME='${tableName}' AND COLUMN_NAME='${columnName}'`;
|
|
475
|
+
default:
|
|
476
|
+
return `PRAGMA table_info(${tableName})`;
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
/**
|
|
480
|
+
* Create index name
|
|
481
|
+
*/
|
|
482
|
+
createIndexName(tableName, columns, type) {
|
|
483
|
+
const suffix = type === 'unique' ? 'unique' : 'index';
|
|
484
|
+
return `${tableName}_${columns.join('_')}_${suffix}`;
|
|
485
|
+
}
|
|
486
|
+
/**
|
|
487
|
+
* Create foreign key name
|
|
488
|
+
*/
|
|
489
|
+
createForeignKeyName(tableName, columns) {
|
|
490
|
+
return `${tableName}_${columns.join('_')}_foreign`;
|
|
491
|
+
}
|
|
492
|
+
/**
|
|
493
|
+
* Wrap a table name
|
|
494
|
+
*/
|
|
495
|
+
wrapTable(table) {
|
|
496
|
+
return this.wrap(table);
|
|
497
|
+
}
|
|
498
|
+
/**
|
|
499
|
+
* Wrap an identifier
|
|
500
|
+
*/
|
|
501
|
+
wrap(value) {
|
|
502
|
+
switch (this.driver) {
|
|
503
|
+
case 'postgres':
|
|
504
|
+
case 'postgresql':
|
|
505
|
+
return `"${value}"`;
|
|
506
|
+
case 'mysql':
|
|
507
|
+
return `\`${value}\``;
|
|
508
|
+
case 'sqlite':
|
|
509
|
+
default:
|
|
510
|
+
return `"${value}"`;
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
exports.SchemaBuilder = SchemaBuilder;
|
|
515
|
+
//# sourceMappingURL=SchemaBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaBuilder.js","sourceRoot":"","sources":["../../../src/Database/Migrations/SchemaBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Seeder
|
|
3
|
+
*
|
|
4
|
+
* Base class for all database seeders
|
|
5
|
+
*/
|
|
6
|
+
import { Connection } from '../Connection';
|
|
7
|
+
export declare abstract class Seeder {
|
|
8
|
+
/**
|
|
9
|
+
* The database connection
|
|
10
|
+
*/
|
|
11
|
+
protected connection?: Connection;
|
|
12
|
+
/**
|
|
13
|
+
* Set the database connection
|
|
14
|
+
*/
|
|
15
|
+
setConnection(connection: Connection): this;
|
|
16
|
+
/**
|
|
17
|
+
* Run the database seeds
|
|
18
|
+
*/
|
|
19
|
+
abstract run(): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Call another seeder
|
|
22
|
+
*/
|
|
23
|
+
protected call(seederClass: new () => Seeder): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Call multiple seeders
|
|
26
|
+
*/
|
|
27
|
+
protected callMany(seederClasses: (new () => Seeder)[]): Promise<void>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=Seeder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Seeder.d.ts","sourceRoot":"","sources":["../../../src/Database/Seeders/Seeder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,8BAAsB,MAAM;IAC1B;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IAElC;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAK3C;;OAEG;IACH,QAAQ,CAAC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAE7B;;OAEG;cACa,IAAI,CAAC,WAAW,EAAE,UAAU,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlE;;OAEG;cACa,QAAQ,CAAC,aAAa,EAAE,CAAC,UAAU,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAK7E"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Seeder
|
|
4
|
+
*
|
|
5
|
+
* Base class for all database seeders
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.Seeder = void 0;
|
|
9
|
+
class Seeder {
|
|
10
|
+
/**
|
|
11
|
+
* The database connection
|
|
12
|
+
*/
|
|
13
|
+
connection;
|
|
14
|
+
/**
|
|
15
|
+
* Set the database connection
|
|
16
|
+
*/
|
|
17
|
+
setConnection(connection) {
|
|
18
|
+
this.connection = connection;
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Call another seeder
|
|
23
|
+
*/
|
|
24
|
+
async call(seederClass) {
|
|
25
|
+
const seeder = new seederClass();
|
|
26
|
+
if (this.connection) {
|
|
27
|
+
seeder.setConnection(this.connection);
|
|
28
|
+
}
|
|
29
|
+
await seeder.run();
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Call multiple seeders
|
|
33
|
+
*/
|
|
34
|
+
async callMany(seederClasses) {
|
|
35
|
+
for (const seederClass of seederClasses) {
|
|
36
|
+
await this.call(seederClass);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.Seeder = Seeder;
|
|
41
|
+
//# sourceMappingURL=Seeder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Seeder.js","sourceRoot":"","sources":["../../../src/Database/Seeders/Seeder.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAIH,MAAsB,MAAM;IAC1B;;OAEG;IACO,UAAU,CAAc;IAElC;;OAEG;IACH,aAAa,CAAC,UAAsB;QAClC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAOD;;OAEG;IACO,KAAK,CAAC,IAAI,CAAC,WAA6B;QAChD,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAEjC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,QAAQ,CAAC,aAAmC;QAC1D,KAAK,MAAM,WAAW,IAAI,aAAa,EAAE,CAAC;YACxC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;CACF;AAxCD,wBAwCC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SeederRunner
|
|
3
|
+
*
|
|
4
|
+
* Runs database seeders
|
|
5
|
+
*/
|
|
6
|
+
import { Connection } from '../Connection';
|
|
7
|
+
import { Seeder } from './Seeder';
|
|
8
|
+
export declare class SeederRunner {
|
|
9
|
+
protected connection: Connection;
|
|
10
|
+
protected paths: string[];
|
|
11
|
+
constructor(connection: Connection, paths: string[]);
|
|
12
|
+
/**
|
|
13
|
+
* Run a specific seeder class
|
|
14
|
+
*/
|
|
15
|
+
run(seederClass?: new () => Seeder): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Run a seeder by name
|
|
18
|
+
*/
|
|
19
|
+
runByName(name: string): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Resolve the DatabaseSeeder class
|
|
22
|
+
*/
|
|
23
|
+
protected resolveDatabaseSeeder(): Promise<new () => Seeder>;
|
|
24
|
+
/**
|
|
25
|
+
* Resolve a seeder class by name
|
|
26
|
+
*/
|
|
27
|
+
protected resolveSeeder(name: string): Promise<new () => Seeder>;
|
|
28
|
+
/**
|
|
29
|
+
* Import a seeder file
|
|
30
|
+
*/
|
|
31
|
+
protected importSeeder(filePath: string): Promise<new () => Seeder>;
|
|
32
|
+
/**
|
|
33
|
+
* Set the seeder paths
|
|
34
|
+
*/
|
|
35
|
+
setPaths(paths: string[]): void;
|
|
36
|
+
/**
|
|
37
|
+
* Get the seeder paths
|
|
38
|
+
*/
|
|
39
|
+
getPaths(): string[];
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=SeederRunner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SeederRunner.d.ts","sourceRoot":"","sources":["../../../src/Database/Seeders/SeederRunner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC,qBAAa,YAAY;IAErB,SAAS,CAAC,UAAU,EAAE,UAAU;IAChC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE;gBADf,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,MAAM,EAAE;IAG3B;;OAEG;IACG,GAAG,CAAC,WAAW,CAAC,EAAE,UAAU,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAexD;;OAEG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5C;;OAEG;cACa,qBAAqB,IAAI,OAAO,CAAC,UAAU,MAAM,CAAC;IAkBlE;;OAEG;cACa,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,MAAM,CAAC;IAkBtE;;OAEG;cACa,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,MAAM,CAAC;IAazE;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAI/B;;OAEG;IACH,QAAQ,IAAI,MAAM,EAAE;CAGrB"}
|