@orchestr-sh/orchestr 1.5.11 → 1.6.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 (161) hide show
  1. package/README.md +199 -0
  2. package/dist/Console/Command.d.ts +59 -0
  3. package/dist/Console/Command.d.ts.map +1 -0
  4. package/dist/Console/Command.js +68 -0
  5. package/dist/Console/Command.js.map +1 -0
  6. package/dist/Console/Commands/MakeMigrationCommand.d.ts +15 -0
  7. package/dist/Console/Commands/MakeMigrationCommand.d.ts.map +1 -0
  8. package/dist/Console/Commands/MakeMigrationCommand.js +41 -0
  9. package/dist/Console/Commands/MakeMigrationCommand.js.map +1 -0
  10. package/dist/Console/Commands/MakeSeederCommand.d.ts +23 -0
  11. package/dist/Console/Commands/MakeSeederCommand.d.ts.map +1 -0
  12. package/dist/Console/Commands/MakeSeederCommand.js +109 -0
  13. package/dist/Console/Commands/MakeSeederCommand.js.map +1 -0
  14. package/dist/Console/Commands/MigrateCommand.d.ts +15 -0
  15. package/dist/Console/Commands/MigrateCommand.d.ts.map +1 -0
  16. package/dist/Console/Commands/MigrateCommand.js +48 -0
  17. package/dist/Console/Commands/MigrateCommand.js.map +1 -0
  18. package/dist/Console/Commands/MigrateFreshCommand.d.ts +15 -0
  19. package/dist/Console/Commands/MigrateFreshCommand.d.ts.map +1 -0
  20. package/dist/Console/Commands/MigrateFreshCommand.js +54 -0
  21. package/dist/Console/Commands/MigrateFreshCommand.js.map +1 -0
  22. package/dist/Console/Commands/MigrateRefreshCommand.d.ts +15 -0
  23. package/dist/Console/Commands/MigrateRefreshCommand.d.ts.map +1 -0
  24. package/dist/Console/Commands/MigrateRefreshCommand.js +52 -0
  25. package/dist/Console/Commands/MigrateRefreshCommand.js.map +1 -0
  26. package/dist/Console/Commands/MigrateResetCommand.d.ts +15 -0
  27. package/dist/Console/Commands/MigrateResetCommand.d.ts.map +1 -0
  28. package/dist/Console/Commands/MigrateResetCommand.js +46 -0
  29. package/dist/Console/Commands/MigrateResetCommand.js.map +1 -0
  30. package/dist/Console/Commands/MigrateRollbackCommand.d.ts +15 -0
  31. package/dist/Console/Commands/MigrateRollbackCommand.d.ts.map +1 -0
  32. package/dist/Console/Commands/MigrateRollbackCommand.js +49 -0
  33. package/dist/Console/Commands/MigrateRollbackCommand.js.map +1 -0
  34. package/dist/Console/Commands/MigrateStatusCommand.d.ts +15 -0
  35. package/dist/Console/Commands/MigrateStatusCommand.d.ts.map +1 -0
  36. package/dist/Console/Commands/MigrateStatusCommand.js +58 -0
  37. package/dist/Console/Commands/MigrateStatusCommand.js.map +1 -0
  38. package/dist/Console/Commands/SeedCommand.d.ts +15 -0
  39. package/dist/Console/Commands/SeedCommand.d.ts.map +1 -0
  40. package/dist/Console/Commands/SeedCommand.js +44 -0
  41. package/dist/Console/Commands/SeedCommand.js.map +1 -0
  42. package/dist/Console/ConsoleKernel.d.ts +45 -0
  43. package/dist/Console/ConsoleKernel.d.ts.map +1 -0
  44. package/dist/Console/ConsoleKernel.js +109 -0
  45. package/dist/Console/ConsoleKernel.js.map +1 -0
  46. package/dist/Console/orchestr.d.ts +8 -0
  47. package/dist/Console/orchestr.d.ts.map +1 -0
  48. package/dist/Console/orchestr.js +45 -0
  49. package/dist/Console/orchestr.js.map +1 -0
  50. package/dist/Container/Container.js.map +1 -1
  51. package/dist/Database/Connection.d.ts.map +1 -1
  52. package/dist/Database/Connection.js.map +1 -1
  53. package/dist/Database/Ensemble/Concerns/HasDynamicRelations.d.ts.map +1 -1
  54. package/dist/Database/Ensemble/Concerns/HasDynamicRelations.js +43 -12
  55. package/dist/Database/Ensemble/Concerns/HasDynamicRelations.js.map +1 -1
  56. package/dist/Database/Ensemble/Concerns/HasRelationships.d.ts.map +1 -1
  57. package/dist/Database/Ensemble/Concerns/HasRelationships.js +2 -5
  58. package/dist/Database/Ensemble/Concerns/HasRelationships.js.map +1 -1
  59. package/dist/Database/Ensemble/Ensemble.d.ts.map +1 -1
  60. package/dist/Database/Ensemble/Ensemble.js +15 -11
  61. package/dist/Database/Ensemble/Ensemble.js.map +1 -1
  62. package/dist/Database/Ensemble/EnsembleBuilder.d.ts.map +1 -1
  63. package/dist/Database/Ensemble/EnsembleBuilder.js.map +1 -1
  64. package/dist/Database/Ensemble/Relations/BelongsTo.d.ts.map +1 -1
  65. package/dist/Database/Ensemble/Relations/BelongsTo.js.map +1 -1
  66. package/dist/Database/Ensemble/Relations/BelongsToMany.d.ts.map +1 -1
  67. package/dist/Database/Ensemble/Relations/BelongsToMany.js +1 -4
  68. package/dist/Database/Ensemble/Relations/BelongsToMany.js.map +1 -1
  69. package/dist/Database/Ensemble/Relations/HasMany.d.ts.map +1 -1
  70. package/dist/Database/Ensemble/Relations/HasMany.js.map +1 -1
  71. package/dist/Database/Ensemble/Relations/HasOne.d.ts.map +1 -1
  72. package/dist/Database/Ensemble/Relations/HasOne.js.map +1 -1
  73. package/dist/Database/Ensemble/Relations/MorphMany.d.ts.map +1 -1
  74. package/dist/Database/Ensemble/Relations/MorphMany.js +2 -6
  75. package/dist/Database/Ensemble/Relations/MorphMany.js.map +1 -1
  76. package/dist/Database/Ensemble/Relations/MorphOne.d.ts.map +1 -1
  77. package/dist/Database/Ensemble/Relations/MorphOne.js +2 -6
  78. package/dist/Database/Ensemble/Relations/MorphOne.js.map +1 -1
  79. package/dist/Database/Ensemble/Relations/MorphTo.d.ts.map +1 -1
  80. package/dist/Database/Ensemble/Relations/MorphTo.js +5 -11
  81. package/dist/Database/Ensemble/Relations/MorphTo.js.map +1 -1
  82. package/dist/Database/Ensemble/Relations/MorphToMany.d.ts.map +1 -1
  83. package/dist/Database/Ensemble/Relations/MorphToMany.js +1 -3
  84. package/dist/Database/Ensemble/Relations/MorphToMany.js.map +1 -1
  85. package/dist/Database/Ensemble/Relations/MorphedByMany.d.ts.map +1 -1
  86. package/dist/Database/Ensemble/Relations/MorphedByMany.js.map +1 -1
  87. package/dist/Database/Ensemble/Relations/Relation.d.ts.map +1 -1
  88. package/dist/Database/Ensemble/Relations/Relation.js +4 -2
  89. package/dist/Database/Ensemble/Relations/Relation.js.map +1 -1
  90. package/dist/Database/Migrations/Blueprint.d.ts +166 -0
  91. package/dist/Database/Migrations/Blueprint.d.ts.map +1 -0
  92. package/dist/Database/Migrations/Blueprint.js +318 -0
  93. package/dist/Database/Migrations/Blueprint.js.map +1 -0
  94. package/dist/Database/Migrations/ColumnDefinition.d.ts +62 -0
  95. package/dist/Database/Migrations/ColumnDefinition.d.ts.map +1 -0
  96. package/dist/Database/Migrations/ColumnDefinition.js +95 -0
  97. package/dist/Database/Migrations/ColumnDefinition.js.map +1 -0
  98. package/dist/Database/Migrations/ForeignKeyDefinition.d.ts +32 -0
  99. package/dist/Database/Migrations/ForeignKeyDefinition.d.ts.map +1 -0
  100. package/dist/Database/Migrations/ForeignKeyDefinition.js +50 -0
  101. package/dist/Database/Migrations/ForeignKeyDefinition.js.map +1 -0
  102. package/dist/Database/Migrations/Migration.d.ts +17 -0
  103. package/dist/Database/Migrations/Migration.d.ts.map +1 -0
  104. package/dist/Database/Migrations/Migration.js +12 -0
  105. package/dist/Database/Migrations/Migration.js.map +1 -0
  106. package/dist/Database/Migrations/MigrationCreator.d.ts +42 -0
  107. package/dist/Database/Migrations/MigrationCreator.d.ts.map +1 -0
  108. package/dist/Database/Migrations/MigrationCreator.js +184 -0
  109. package/dist/Database/Migrations/MigrationCreator.js.map +1 -0
  110. package/dist/Database/Migrations/MigrationRepository.d.ts +65 -0
  111. package/dist/Database/Migrations/MigrationRepository.d.ts.map +1 -0
  112. package/dist/Database/Migrations/MigrationRepository.js +120 -0
  113. package/dist/Database/Migrations/MigrationRepository.js.map +1 -0
  114. package/dist/Database/Migrations/Migrator.d.ts +84 -0
  115. package/dist/Database/Migrations/Migrator.d.ts.map +1 -0
  116. package/dist/Database/Migrations/Migrator.js +239 -0
  117. package/dist/Database/Migrations/Migrator.js.map +1 -0
  118. package/dist/Database/Migrations/SchemaBuilder.d.ts +136 -0
  119. package/dist/Database/Migrations/SchemaBuilder.d.ts.map +1 -0
  120. package/dist/Database/Migrations/SchemaBuilder.js +505 -0
  121. package/dist/Database/Migrations/SchemaBuilder.js.map +1 -0
  122. package/dist/Database/Query/Builder.d.ts.map +1 -1
  123. package/dist/Database/Query/Builder.js +5 -4
  124. package/dist/Database/Query/Builder.js.map +1 -1
  125. package/dist/Database/Seeders/Seeder.d.ts +29 -0
  126. package/dist/Database/Seeders/Seeder.d.ts.map +1 -0
  127. package/dist/Database/Seeders/Seeder.js +41 -0
  128. package/dist/Database/Seeders/Seeder.js.map +1 -0
  129. package/dist/Database/Seeders/SeederRunner.d.ts +41 -0
  130. package/dist/Database/Seeders/SeederRunner.d.ts.map +1 -0
  131. package/dist/Database/Seeders/SeederRunner.js +134 -0
  132. package/dist/Database/Seeders/SeederRunner.js.map +1 -0
  133. package/dist/Facades/DB.d.ts.map +1 -1
  134. package/dist/Facades/DB.js.map +1 -1
  135. package/dist/Facades/Route.js +1 -1
  136. package/dist/Foundation/Application.js +3 -3
  137. package/dist/Foundation/Application.js.map +1 -1
  138. package/dist/Foundation/Config/Config.js +1 -1
  139. package/dist/Foundation/Config/Config.js.map +1 -1
  140. package/dist/Foundation/Http/FormRequest.d.ts.map +1 -1
  141. package/dist/Foundation/Http/FormRequest.js +2 -2
  142. package/dist/Foundation/Http/FormRequest.js.map +1 -1
  143. package/dist/Foundation/Http/Kernel.d.ts.map +1 -1
  144. package/dist/Foundation/Http/Kernel.js +1 -1
  145. package/dist/Foundation/Http/Kernel.js.map +1 -1
  146. package/dist/Foundation/Http/Validator.d.ts.map +1 -1
  147. package/dist/Foundation/Http/Validator.js +27 -22
  148. package/dist/Foundation/Http/Validator.js.map +1 -1
  149. package/dist/Routing/Request.js +1 -1
  150. package/dist/Routing/Request.js.map +1 -1
  151. package/dist/Routing/Route.js +1 -1
  152. package/dist/Routing/Route.js.map +1 -1
  153. package/dist/Routing/Router.d.ts.map +1 -1
  154. package/dist/Routing/Router.js +5 -6
  155. package/dist/Routing/Router.js.map +1 -1
  156. package/dist/Support/Facade.js +2 -2
  157. package/dist/index.d.ts +28 -4
  158. package/dist/index.d.ts.map +1 -1
  159. package/dist/index.js +48 -0
  160. package/dist/index.js.map +1 -1
  161. package/package.json +34 -10
@@ -0,0 +1,239 @@
1
+ "use strict";
2
+ /**
3
+ * Migrator
4
+ *
5
+ * Handles running and rolling back migrations
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.Migrator = void 0;
42
+ const MigrationRepository_1 = require("./MigrationRepository");
43
+ const SchemaBuilder_1 = require("./SchemaBuilder");
44
+ const path = __importStar(require("path"));
45
+ const fs = __importStar(require("fs"));
46
+ class Migrator {
47
+ connection;
48
+ paths;
49
+ repository;
50
+ schema;
51
+ constructor(connection, paths) {
52
+ this.connection = connection;
53
+ this.paths = paths;
54
+ this.repository = new MigrationRepository_1.MigrationRepository(connection);
55
+ this.schema = new SchemaBuilder_1.SchemaBuilder(connection);
56
+ }
57
+ /**
58
+ * Run the pending migrations
59
+ */
60
+ async run(options = {}) {
61
+ const ran = [];
62
+ // Ensure the migrations repository exists
63
+ await this.repository.createRepository();
64
+ const files = await this.getMigrationFiles();
65
+ const ranMigrations = await this.repository.getRan();
66
+ const pending = files.filter((file) => !ranMigrations.includes(file));
67
+ if (pending.length === 0) {
68
+ return [];
69
+ }
70
+ const batch = await this.repository.getNextBatchNumber();
71
+ for (const file of pending) {
72
+ await this.runUp(file, batch, options.pretend || false);
73
+ ran.push(file);
74
+ }
75
+ return ran;
76
+ }
77
+ /**
78
+ * Run a single migration up
79
+ */
80
+ async runUp(file, batch, pretend) {
81
+ const migration = await this.resolveMigration(file);
82
+ if (pretend) {
83
+ console.log(`Would run: ${file}`);
84
+ return;
85
+ }
86
+ await migration.up(this.schema);
87
+ await this.repository.log(file, batch);
88
+ }
89
+ /**
90
+ * Rollback the last migration batch
91
+ */
92
+ async rollback(options = {}) {
93
+ const rolledBack = [];
94
+ const migrations = await this.getMigrationsForRollback(options);
95
+ if (migrations.length === 0) {
96
+ return [];
97
+ }
98
+ for (const migration of migrations) {
99
+ await this.runDown(migration.migration, options.pretend || false);
100
+ rolledBack.push(migration.migration);
101
+ }
102
+ return rolledBack;
103
+ }
104
+ /**
105
+ * Run a single migration down
106
+ */
107
+ async runDown(file, pretend) {
108
+ const migration = await this.resolveMigration(file);
109
+ if (pretend) {
110
+ console.log(`Would rollback: ${file}`);
111
+ return;
112
+ }
113
+ await migration.down(this.schema);
114
+ await this.repository.delete({ migration: file, batch: 0 });
115
+ }
116
+ /**
117
+ * Reset all migrations
118
+ */
119
+ async reset() {
120
+ const rolledBack = [];
121
+ const migrations = await this.repository.getMigrations();
122
+ if (migrations.length === 0) {
123
+ return [];
124
+ }
125
+ // Reverse the order for rollback
126
+ migrations.reverse();
127
+ for (const migration of migrations) {
128
+ await this.runDown(migration.migration, false);
129
+ rolledBack.push(migration.migration);
130
+ }
131
+ return rolledBack;
132
+ }
133
+ /**
134
+ * Refresh the database (reset and re-run all migrations)
135
+ */
136
+ async refresh() {
137
+ const rolledBack = await this.reset();
138
+ const ran = await this.run();
139
+ return { rolledBack, ran };
140
+ }
141
+ /**
142
+ * Get migrations for rollback
143
+ */
144
+ async getMigrationsForRollback(options) {
145
+ if (options.step && options.step > 0) {
146
+ return await this.repository.getMigrations(options.step);
147
+ }
148
+ return await this.repository.getLast();
149
+ }
150
+ /**
151
+ * Resolve a migration instance from a file
152
+ */
153
+ async resolveMigration(file) {
154
+ const migrationPath = await this.findMigrationFile(file);
155
+ if (!migrationPath) {
156
+ throw new Error(`Migration file not found: ${file}`);
157
+ }
158
+ // Import the migration file
159
+ const migrationModule = await Promise.resolve(`${migrationPath}`).then(s => __importStar(require(s)));
160
+ // Get the default export or the first class export
161
+ const MigrationClass = migrationModule.default || Object.values(migrationModule)[0];
162
+ if (!MigrationClass) {
163
+ throw new Error(`No migration class found in: ${file}`);
164
+ }
165
+ return new MigrationClass();
166
+ }
167
+ /**
168
+ * Find a migration file in the paths
169
+ */
170
+ async findMigrationFile(file) {
171
+ for (const searchPath of this.paths) {
172
+ const fullPath = path.join(searchPath, file);
173
+ // Try with .ts extension
174
+ if (fs.existsSync(fullPath + '.ts')) {
175
+ return fullPath + '.ts';
176
+ }
177
+ // Try with .js extension
178
+ if (fs.existsSync(fullPath + '.js')) {
179
+ return fullPath + '.js';
180
+ }
181
+ // Try without extension
182
+ if (fs.existsSync(fullPath)) {
183
+ return fullPath;
184
+ }
185
+ }
186
+ return null;
187
+ }
188
+ /**
189
+ * Get all migration files
190
+ */
191
+ async getMigrationFiles() {
192
+ const files = [];
193
+ for (const searchPath of this.paths) {
194
+ if (!fs.existsSync(searchPath)) {
195
+ continue;
196
+ }
197
+ const dirFiles = fs.readdirSync(searchPath);
198
+ for (const file of dirFiles) {
199
+ if (file.match(/\.(ts|js)$/)) {
200
+ files.push(file.replace(/\.(ts|js)$/, ''));
201
+ }
202
+ }
203
+ }
204
+ // Remove duplicates and sort
205
+ return Array.from(new Set(files)).sort();
206
+ }
207
+ /**
208
+ * Get the ran migrations
209
+ */
210
+ async getRan() {
211
+ return await this.repository.getRan();
212
+ }
213
+ /**
214
+ * Get migrations with their batch numbers
215
+ */
216
+ async getMigrationBatches() {
217
+ return await this.repository.getMigrationBatches();
218
+ }
219
+ /**
220
+ * Get the migration repository
221
+ */
222
+ getRepository() {
223
+ return this.repository;
224
+ }
225
+ /**
226
+ * Set the migration paths
227
+ */
228
+ setPaths(paths) {
229
+ this.paths = paths;
230
+ }
231
+ /**
232
+ * Get the migration paths
233
+ */
234
+ getPaths() {
235
+ return this.paths;
236
+ }
237
+ }
238
+ exports.Migrator = Migrator;
239
+ //# sourceMappingURL=Migrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Migrator.js","sourceRoot":"","sources":["../../../src/Database/Migrations/Migrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,136 @@
1
+ /**
2
+ * SchemaBuilder
3
+ *
4
+ * Builds and executes schema migrations with support for multiple database drivers
5
+ */
6
+ import { Schema } from '../Contracts/Schema';
7
+ import { Connection } from '../Connection';
8
+ import { Blueprint } from './Blueprint';
9
+ import { ColumnDefinition } from './ColumnDefinition';
10
+ import { ForeignKeyDefinition } from './ForeignKeyDefinition';
11
+ export declare class SchemaBuilder implements Schema {
12
+ protected connection: Connection;
13
+ protected driver: string;
14
+ constructor(connection: Connection);
15
+ /**
16
+ * Create a new table
17
+ */
18
+ create(tableName: string, callback: (table: Blueprint) => void): Promise<void>;
19
+ /**
20
+ * Drop a table
21
+ */
22
+ drop(tableName: string): Promise<void>;
23
+ /**
24
+ * Drop a table if it exists
25
+ */
26
+ dropIfExists(tableName: string): Promise<void>;
27
+ /**
28
+ * Rename a table
29
+ */
30
+ rename(from: string, to: string): Promise<void>;
31
+ /**
32
+ * Determine if a table exists
33
+ */
34
+ hasTable(tableName: string): Promise<boolean>;
35
+ /**
36
+ * Determine if a column exists on a table
37
+ */
38
+ hasColumn(tableName: string, columnName: string): Promise<boolean>;
39
+ /**
40
+ * Modify an existing table
41
+ */
42
+ table(tableName: string, callback: (table: Blueprint) => void): Promise<void>;
43
+ /**
44
+ * Compile CREATE TABLE statement
45
+ */
46
+ protected compileCreate(blueprint: Blueprint): string;
47
+ /**
48
+ * Compile column definition
49
+ */
50
+ protected compileColumnDefinition(column: ColumnDefinition): string;
51
+ /**
52
+ * Get column type SQL
53
+ */
54
+ protected getColumnType(column: ColumnDefinition): string;
55
+ /**
56
+ * Get SQLite column type
57
+ */
58
+ protected getSQLiteColumnType(column: ColumnDefinition): string;
59
+ /**
60
+ * Get PostgreSQL column type
61
+ */
62
+ protected getPostgresColumnType(column: ColumnDefinition): string;
63
+ /**
64
+ * Get MySQL column type
65
+ */
66
+ protected getMySQLColumnType(column: ColumnDefinition): string;
67
+ /**
68
+ * Get auto increment clause
69
+ */
70
+ protected getAutoIncrementClause(column: ColumnDefinition): string;
71
+ /**
72
+ * Get default value SQL
73
+ */
74
+ protected getDefaultValue(value: any): string;
75
+ /**
76
+ * Compile ADD COLUMN statement
77
+ */
78
+ protected compileAddColumn(tableName: string, column: ColumnDefinition): string;
79
+ /**
80
+ * Compile command (drop, rename, etc.)
81
+ */
82
+ protected compileCommand(tableName: string, command: any): string | null;
83
+ /**
84
+ * Compile DROP COLUMN statement
85
+ */
86
+ protected compileDropColumn(tableName: string, columns: string[]): string;
87
+ /**
88
+ * Compile DROP INDEX statement
89
+ */
90
+ protected compileDropIndex(tableName: string, indexName: string): string;
91
+ /**
92
+ * Compile DROP FOREIGN KEY statement
93
+ */
94
+ protected compileDropForeign(tableName: string, keyName: string): string;
95
+ /**
96
+ * Compile RENAME COLUMN statement
97
+ */
98
+ protected compileRenameColumn(tableName: string, from: string, to: string): string;
99
+ /**
100
+ * Compile index creation
101
+ */
102
+ protected compileIndex(tableName: string, index: any): string | null;
103
+ /**
104
+ * Compile foreign key creation
105
+ */
106
+ protected compileForeignKey(tableName: string, fk: ForeignKeyDefinition): string | null;
107
+ /**
108
+ * Compile RENAME TABLE statement
109
+ */
110
+ protected compileRename(from: string, to: string): string;
111
+ /**
112
+ * Compile has table check
113
+ */
114
+ protected compileHasTable(tableName: string): string;
115
+ /**
116
+ * Compile has column check
117
+ */
118
+ protected compileHasColumn(tableName: string, columnName: string): string;
119
+ /**
120
+ * Create index name
121
+ */
122
+ protected createIndexName(tableName: string, columns: string[], type: string): string;
123
+ /**
124
+ * Create foreign key name
125
+ */
126
+ protected createForeignKeyName(tableName: string, columns: string[]): string;
127
+ /**
128
+ * Wrap a table name
129
+ */
130
+ protected wrapTable(table: string): string;
131
+ /**
132
+ * Wrap an identifier
133
+ */
134
+ protected wrap(value: string): string;
135
+ }
136
+ //# sourceMappingURL=SchemaBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaBuilder.d.ts","sourceRoot":"","sources":["../../../src/Database/Migrations/SchemaBuilder.ts"],"names":[],"mappings":"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"}