@typetron/framework 0.3.11 → 0.3.14
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/Container/Container.js +3 -3
- package/Database/Connection.d.ts +2 -5
- package/Database/Connection.d.ts.map +1 -1
- package/Database/Connection.js +4 -4
- package/Database/Decorators.d.ts +7 -2
- package/Database/Decorators.d.ts.map +1 -1
- package/Database/Decorators.js +6 -3
- package/Database/Decorators.js.map +1 -1
- package/Database/Drivers/DatabaseDriver.d.ts +4 -6
- package/Database/Drivers/DatabaseDriver.d.ts.map +1 -1
- package/Database/Drivers/DatabaseDriver.js.map +1 -1
- package/Database/Drivers/MySQL/Alter/index.d.ts +34 -0
- package/Database/Drivers/MySQL/Alter/index.d.ts.map +1 -0
- package/Database/Drivers/MySQL/Alter/index.js +65 -0
- package/Database/Drivers/MySQL/Alter/index.js.map +1 -0
- package/Database/Drivers/MySQL/ColumnDefinition.d.ts +7 -0
- package/Database/Drivers/MySQL/ColumnDefinition.d.ts.map +1 -0
- package/Database/Drivers/MySQL/ColumnDefinition.js +18 -0
- package/Database/Drivers/MySQL/ColumnDefinition.js.map +1 -0
- package/Database/Drivers/MySQL/Create.d.ts +10 -0
- package/Database/Drivers/MySQL/Create.d.ts.map +1 -0
- package/Database/Drivers/MySQL/Create.js +43 -0
- package/Database/Drivers/MySQL/Create.js.map +1 -0
- package/Database/Drivers/MySQL/MysqlDriver.d.ts +7 -3
- package/Database/Drivers/MySQL/MysqlDriver.d.ts.map +1 -1
- package/Database/Drivers/MySQL/MysqlDriver.js +27 -15
- package/Database/Drivers/MySQL/MysqlDriver.js.map +1 -1
- package/Database/Drivers/MySQL/Schema.d.ts +12 -2
- package/Database/Drivers/MySQL/Schema.d.ts.map +1 -1
- package/Database/Drivers/MySQL/Schema.js +57 -3
- package/Database/Drivers/MySQL/Schema.js.map +1 -1
- package/Database/Drivers/MySQL/index.d.ts +1 -0
- package/Database/Drivers/MySQL/index.d.ts.map +1 -1
- package/Database/Drivers/MySQL/index.js +14 -0
- package/Database/Drivers/MySQL/index.js.map +1 -1
- package/Database/Drivers/SQL/Schema.d.ts +3 -8
- package/Database/Drivers/SQL/Schema.d.ts.map +1 -1
- package/Database/Drivers/SQL/Schema.js +21 -63
- package/Database/Drivers/SQL/Schema.js.map +1 -1
- package/Database/Drivers/SQL/Statements/Alter.d.ts +2 -2
- package/Database/Drivers/SQL/Statements/Alter.d.ts.map +1 -1
- package/Database/Drivers/SQL/Statements/Alter.js +8 -8
- package/Database/Drivers/SQL/Statements/Alter.js.map +1 -1
- package/Database/Drivers/SQL/Statements/BaseStatement.d.ts +2 -2
- package/Database/Drivers/SQL/Statements/BaseStatement.d.ts.map +1 -1
- package/Database/Drivers/SQL/Statements/BaseStatement.js +3 -3
- package/Database/Drivers/SQL/Statements/BaseStatement.js.map +1 -1
- package/Database/Drivers/SQL/Statements/Delete.d.ts +1 -1
- package/Database/Drivers/SQL/Statements/Delete.d.ts.map +1 -1
- package/Database/Drivers/SQL/Statements/Delete.js +4 -6
- package/Database/Drivers/SQL/Statements/Delete.js.map +1 -1
- package/Database/Drivers/SQL/Statements/Insert.d.ts +1 -1
- package/Database/Drivers/SQL/Statements/Insert.d.ts.map +1 -1
- package/Database/Drivers/SQL/Statements/Insert.js +3 -2
- package/Database/Drivers/SQL/Statements/Insert.js.map +1 -1
- package/Database/Drivers/SQL/Statements/Select.d.ts +1 -1
- package/Database/Drivers/SQL/Statements/Select.d.ts.map +1 -1
- package/Database/Drivers/SQL/Statements/Select.js +9 -12
- package/Database/Drivers/SQL/Statements/Select.js.map +1 -1
- package/Database/Drivers/SQL/Statements/Update.d.ts +1 -1
- package/Database/Drivers/SQL/Statements/Update.d.ts.map +1 -1
- package/Database/Drivers/SQL/Statements/Update.js +6 -8
- package/Database/Drivers/SQL/Statements/Update.js.map +1 -1
- package/Database/Drivers/SQL/index.d.ts +9 -0
- package/Database/Drivers/SQL/index.d.ts.map +1 -0
- package/Database/Drivers/SQL/index.js +3 -0
- package/Database/Drivers/SQL/index.js.map +1 -0
- package/Database/Drivers/SQLite/Create.d.ts +10 -0
- package/Database/Drivers/SQLite/Create.d.ts.map +1 -0
- package/Database/Drivers/SQLite/Create.js +42 -0
- package/Database/Drivers/SQLite/Create.js.map +1 -0
- package/Database/Drivers/SQLite/Schema.d.ts +12 -2
- package/Database/Drivers/SQLite/Schema.d.ts.map +1 -1
- package/Database/Drivers/SQLite/Schema.js +38 -3
- package/Database/Drivers/SQLite/Schema.js.map +1 -1
- package/Database/Drivers/SQLite/SqliteDriver.d.ts +7 -3
- package/Database/Drivers/SQLite/SqliteDriver.d.ts.map +1 -1
- package/Database/Drivers/SQLite/SqliteDriver.js +22 -9
- package/Database/Drivers/SQLite/SqliteDriver.js.map +1 -1
- package/Database/Drivers/SQLite/index.d.ts +1 -0
- package/Database/Drivers/SQLite/index.d.ts.map +1 -1
- package/Database/Drivers/SQLite/index.js +13 -0
- package/Database/Drivers/SQLite/index.js.map +1 -1
- package/Database/Drivers/SchemaContract.d.ts +1 -3
- package/Database/Drivers/SchemaContract.d.ts.map +1 -1
- package/Database/Drivers/SchemaContract.js.map +1 -1
- package/Database/Drivers/Statement.d.ts +4 -3
- package/Database/Drivers/Statement.d.ts.map +1 -1
- package/Database/Drivers/Statement.js +4 -2
- package/Database/Drivers/Statement.js.map +1 -1
- package/Database/Entity.js +2 -1
- package/Database/Entity.js.map +1 -1
- package/Database/EntityQuery.d.ts +4 -4
- package/Database/EntityQuery.d.ts.map +1 -1
- package/Database/EntityQuery.js.map +1 -1
- package/Database/Expression.d.ts +2 -4
- package/Database/Expression.d.ts.map +1 -1
- package/Database/Expression.js +0 -6
- package/Database/Expression.js.map +1 -1
- package/Database/Fields.d.ts.map +1 -1
- package/Database/Fields.js +1 -1
- package/Database/Fields.js.map +1 -1
- package/Database/Helpers.d.ts.map +1 -1
- package/Database/Helpers.js +8 -2
- package/Database/Helpers.js.map +1 -1
- package/Database/Migrations/Migrator.d.ts +1 -1
- package/Database/Migrations/Migrator.d.ts.map +1 -1
- package/Database/Migrations/Migrator.js +1 -1
- package/Database/Migrations/Migrator.js.map +1 -1
- package/Database/Query.d.ts +11 -10
- package/Database/Query.d.ts.map +1 -1
- package/Database/Query.js +6 -4
- package/Database/Query.js.map +1 -1
- package/Database/StringExpression.d.ts +7 -0
- package/Database/StringExpression.d.ts.map +1 -0
- package/Database/StringExpression.js +15 -0
- package/Database/StringExpression.js.map +1 -0
- package/Database/Types.d.ts +3 -3
- package/Database/Types.d.ts.map +1 -1
- package/Database/Types.js +1 -1
- package/Database/index.d.ts +2 -1
- package/Database/index.d.ts.map +1 -1
- package/Database/index.js +1 -0
- package/Database/index.js.map +1 -1
- package/Encryption/index.d.ts.map +1 -1
- package/Encryption/index.js +4 -1
- package/Encryption/index.js.map +1 -1
- package/Framework/Config/DatabaseConfig.d.ts.map +1 -1
- package/Framework/Config/DatabaseConfig.js.map +1 -1
- package/Framework/Providers/DatabaseProvider.js +1 -1
- package/Framework/Providers/DatabaseProvider.js.map +1 -1
- package/Readme.md +123 -123
- package/Support/Array.d.ts +4 -2
- package/Support/Array.d.ts.map +1 -1
- package/Support/Array.js +8 -2
- package/Support/Array.js.map +1 -1
- package/package.json +66 -66
- package/tests/Database/Drivers/MySQL/AlterTest.d.ts +2 -0
- package/tests/Database/Drivers/MySQL/AlterTest.d.ts.map +1 -0
- package/tests/Database/Drivers/MySQL/AlterTest.js +144 -0
- package/tests/Database/Drivers/MySQL/AlterTest.js.map +1 -0
- package/tests/Database/Drivers/MySQL/CreateTest.d.ts +2 -0
- package/tests/Database/Drivers/MySQL/CreateTest.d.ts.map +1 -0
- package/tests/Database/Drivers/MySQL/CreateTest.js +64 -0
- package/tests/Database/Drivers/MySQL/CreateTest.js.map +1 -0
- package/tests/Database/Drivers/MysqlDriverTest.d.ts +2 -0
- package/tests/Database/Drivers/MysqlDriverTest.d.ts.map +1 -0
- package/tests/Database/Drivers/MysqlDriverTest.js +174 -0
- package/tests/Database/Drivers/MysqlDriverTest.js.map +1 -0
- package/tests/Database/Drivers/SqliteDriverTest.d.ts +2 -0
- package/tests/Database/Drivers/SqliteDriverTest.d.ts.map +1 -0
- package/tests/Database/Drivers/SqliteDriverTest.js +156 -0
- package/tests/Database/Drivers/SqliteDriverTest.js.map +1 -0
- package/tests/Database/QueryTest.js +59 -55
- package/tests/Database/QueryTest.js.map +1 -1
- package/tests/Database/utils.d.ts +6 -0
- package/tests/Database/utils.d.ts.map +1 -0
- package/tests/Database/utils.js +19 -0
- package/tests/Database/utils.js.map +1 -0
- package/tests/Support/ArrayTest.js +42 -2
- package/tests/Support/ArrayTest.js.map +1 -1
package/Container/Container.js
CHANGED
|
@@ -81,9 +81,9 @@ class Container {
|
|
|
81
81
|
return abstract;
|
|
82
82
|
}
|
|
83
83
|
if (abstract === undefined) {
|
|
84
|
-
throw new Error(`
|
|
85
|
-
Cannot resolve a parameter having the value undefined.
|
|
86
|
-
This might be due to circular dependencies in your app
|
|
84
|
+
throw new Error(`
|
|
85
|
+
Cannot resolve a parameter having the value undefined.
|
|
86
|
+
This might be due to circular dependencies in your app
|
|
87
87
|
`);
|
|
88
88
|
}
|
|
89
89
|
if (typeof abstract === 'symbol') {
|
package/Database/Connection.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Query } from './Query';
|
|
2
2
|
import { DatabaseDriver } from './Drivers/DatabaseDriver';
|
|
3
|
-
import { SqlValue } from '
|
|
3
|
+
import { SqlValue } from './Types';
|
|
4
4
|
export declare class Connection {
|
|
5
5
|
driver: DatabaseDriver;
|
|
6
6
|
constructor(driver: DatabaseDriver);
|
|
@@ -16,9 +16,6 @@ export declare class Connection {
|
|
|
16
16
|
name: string;
|
|
17
17
|
}[]>;
|
|
18
18
|
tableExists(table: string): Promise<Boolean>;
|
|
19
|
-
tableColumns(table: string): Promise<
|
|
20
|
-
name: string;
|
|
21
|
-
type: string;
|
|
22
|
-
}[]>;
|
|
19
|
+
tableColumns(table: string): Promise<import("./Drivers/SQL").ColumnDefinitionOptions[]>;
|
|
23
20
|
}
|
|
24
21
|
//# sourceMappingURL=Connection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Connection.d.ts","sourceRoot":"","sources":["../../Database/Connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Connection.d.ts","sourceRoot":"","sources":["../../Database/Connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,qBAAa,UAAU;IAEA,MAAM,EAAE,cAAc;gBAAtB,MAAM,EAAE,cAAc;IAEnC,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhC,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAI9C,QAAQ,CAAC,KAAK,EAAE,MAAM;IAIhB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAIrC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIjD,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,QAAQ,EAAO,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAIlE,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,QAAQ,EAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAIlE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,QAAQ,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhE,MAAM;;;IAIN,WAAW,CAAC,KAAK,EAAE,MAAM;IAIzB,YAAY,CAAC,KAAK,EAAE,MAAM;CAGnC"}
|
package/Database/Connection.js
CHANGED
|
@@ -6,19 +6,19 @@ class Connection {
|
|
|
6
6
|
this.driver = driver;
|
|
7
7
|
}
|
|
8
8
|
async run(query) {
|
|
9
|
-
return this.driver.run(query.
|
|
9
|
+
return this.driver.run(query.toSQL(), query.getBindings());
|
|
10
10
|
}
|
|
11
11
|
async insertOne(query) {
|
|
12
|
-
return this.driver.insertOne(query.
|
|
12
|
+
return this.driver.insertOne(query.toSQL(), query.getBindings());
|
|
13
13
|
}
|
|
14
14
|
truncate(table) {
|
|
15
15
|
return this.driver.truncate(table);
|
|
16
16
|
}
|
|
17
17
|
async get(query) {
|
|
18
|
-
return await this.driver.get(query.
|
|
18
|
+
return await this.driver.get(query.toSQL(), query.getBindings());
|
|
19
19
|
}
|
|
20
20
|
async first(query) {
|
|
21
|
-
return await this.driver.first(query.
|
|
21
|
+
return await this.driver.first(query.toSQL(), query.getBindings());
|
|
22
22
|
}
|
|
23
23
|
async getRaw(rawQuery, params = []) {
|
|
24
24
|
return await this.driver.get(rawQuery, params);
|
package/Database/Decorators.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChildObject, Constructor, KeysOfType } from '
|
|
1
|
+
import { ChildObject, Constructor, KeysOfType } from '@Typetron/Support';
|
|
2
2
|
import { Entity } from './Entity';
|
|
3
3
|
import { BelongsToManyField, BelongsToManyFieldOptions, ColumnField, HasManyField, HasOneField, RelationshipField } from './Fields';
|
|
4
4
|
import { List } from './List';
|
|
@@ -21,7 +21,12 @@ export declare class EntityMetadata<T extends Entity> extends EntityOptions<T> {
|
|
|
21
21
|
static get<T extends Entity>(entity: T): EntityMetadata<T>;
|
|
22
22
|
}
|
|
23
23
|
export declare function Options<T extends Entity>(options?: EntityOptions<T>): (entity: object) => void;
|
|
24
|
-
export declare function Column<T extends Entity>(column?: string
|
|
24
|
+
export declare function Column<T extends Entity>(column?: string | {
|
|
25
|
+
type: any;
|
|
26
|
+
}): PropertyDecorator;
|
|
27
|
+
export declare function Column<T extends Entity>(column: string, options?: {
|
|
28
|
+
type: any;
|
|
29
|
+
}): PropertyDecorator;
|
|
25
30
|
export declare function JSONColumn<T extends Entity>(column?: string): (entity: object, name: string) => void;
|
|
26
31
|
export declare function Enum<T extends Entity>(...values: string[]): (entity: object, name: string) => void;
|
|
27
32
|
export declare function PrimaryColumn<T extends Entity>(column?: string): (entity: object, name: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Decorators.d.ts","sourceRoot":"","sources":["../../Database/Decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Decorators.d.ts","sourceRoot":"","sources":["../../Database/Decorators.ts"],"names":[],"mappings":"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"}
|
package/Database/Decorators.js
CHANGED
|
@@ -38,10 +38,13 @@ function setField(entity, field) {
|
|
|
38
38
|
entityMetadata.columns[field.property] = field;
|
|
39
39
|
Reflect.defineMetadata(exports.EntityMetadataKey, entityMetadata, entity);
|
|
40
40
|
}
|
|
41
|
-
|
|
41
|
+
// tslint:disable-next-line:no-any
|
|
42
|
+
function Column(column, options) {
|
|
42
43
|
return function (entity, name) {
|
|
43
|
-
|
|
44
|
-
const
|
|
44
|
+
var _a;
|
|
45
|
+
const actualColumn = typeof column === 'string' ? column : undefined;
|
|
46
|
+
const type = (_a = options === null || options === void 0 ? void 0 : options.type) !== null && _a !== void 0 ? _a : Reflect.getMetadata('design:type', entity, name);
|
|
47
|
+
const field = new Fields_1.ColumnField(entity.constructor, String(name), () => type, actualColumn || String(name));
|
|
45
48
|
setField(entity, field);
|
|
46
49
|
};
|
|
47
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Decorators.js","sourceRoot":"","sources":["../../Database/Decorators.ts"],"names":[],"mappings":";;;AAEA,qCAaiB;AAKJ,QAAA,iBAAiB,GAAG,kBAAkB,CAAA;AAInD,MAAa,aAAa;CAGzB;AAHD,sCAGC;AAED,MAAa,cAAiC,SAAQ,aAAgB;IAAtE;;QACI,YAAO,GAAmC,EAAE,CAAA;QAC5C,kBAAa,GAAiD,EAAE,CAAA;QAChE,yBAAoB,GAAqG,EAAE,CAAA;IAa/H,CAAC;IATG,IAAI,gBAAgB;QAChB,OAAO,EAAC,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,oBAAoB,EAAC,CAAA;IAChE,CAAC;IAED,MAAM,CAAC,GAAG,CAAmB,MAAS;QAClC,MAAM,QAAQ,GAAsB,OAAO,CAAC,WAAW,CAAC,yBAAiB,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,CAAA;QAChG,QAAQ,CAAC,KAAK,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,KAAI,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;QACzE,OAAO,QAAQ,CAAA;IACnB,CAAC;CACJ;AAhBD,wCAgBC;AAED,SAAgB,OAAO,CAAmB,UAA4B,EAAE;IACpE,OAAO,CAAC,MAAc,EAAE,EAAE;QACtB,MAAM,WAAW,GAAG,MAAyC,CAAA;QAC7D,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;QAC1D,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;QAC/D,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAChC,OAAO,CAAC,cAAc,CAAC,yBAAiB,EAAE,QAAQ,EAAE,WAAW,CAAC,SAAS,CAAC,CAAA;IAC9E,CAAC,CAAA;AACL,CAAC;AARD,0BAQC;AAED,SAAS,QAAQ,CAAmB,MAAS,EAAE,KAAqB;IAChE,MAAM,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACjD,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAA;IAC9C,OAAO,CAAC,cAAc,CAAC,yBAAiB,EAAE,cAAc,EAAE,MAAM,CAAC,CAAA;AACrE,CAAC;
|
|
1
|
+
{"version":3,"file":"Decorators.js","sourceRoot":"","sources":["../../Database/Decorators.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { SqlValue } from '
|
|
1
|
+
import { SqlValue } from '../Types';
|
|
2
2
|
import { Statement } from './Statement';
|
|
3
3
|
import { Constructor } from '@Typetron/Support';
|
|
4
|
-
import { SchemaContract } from '
|
|
4
|
+
import { SchemaContract } from './SchemaContract';
|
|
5
|
+
import { ColumnDefinitionOptions } from '@Typetron/Database/Drivers/SQL';
|
|
5
6
|
interface StatementsList {
|
|
6
7
|
create: Constructor<Statement>;
|
|
7
8
|
select: Constructor<Statement>;
|
|
@@ -22,10 +23,7 @@ export declare abstract class DatabaseDriver {
|
|
|
22
23
|
name: string;
|
|
23
24
|
}[]>;
|
|
24
25
|
abstract tableExists(table: string): Promise<Boolean>;
|
|
25
|
-
abstract tableColumns(table: string): Promise<
|
|
26
|
-
name: string;
|
|
27
|
-
type: string;
|
|
28
|
-
}[]>;
|
|
26
|
+
abstract tableColumns(table: string): Promise<ColumnDefinitionOptions[]>;
|
|
29
27
|
}
|
|
30
28
|
export {};
|
|
31
29
|
//# sourceMappingURL=DatabaseDriver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatabaseDriver.d.ts","sourceRoot":"","sources":["../../../Database/Drivers/DatabaseDriver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"DatabaseDriver.d.ts","sourceRoot":"","sources":["../../../Database/Drivers/DatabaseDriver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AAExE,UAAU,cAAc;IACpB,MAAM,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAC/B,MAAM,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAC/B,MAAM,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAC/B,MAAM,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAC/B,MAAM,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAC/B,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CACjC;AAED,8BAAsB,cAAc;IAEhC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAA;IAEnC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;IAE/B,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAE/D,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAE/C,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEtE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAEpE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAE5E,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,EAAE,CAAC;IAE5C,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAErD,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;CAC3E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatabaseDriver.js","sourceRoot":"","sources":["../../../Database/Drivers/DatabaseDriver.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"DatabaseDriver.js","sourceRoot":"","sources":["../../../Database/Drivers/DatabaseDriver.ts"],"names":[],"mappings":";;;AAeA,MAAsB,cAAc;CAqBnC;AArBD,wCAqBC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ColumnDefinitionOptions } from '../../../Drivers/SQL';
|
|
2
|
+
import { Expression } from '@Typetron/Database';
|
|
3
|
+
export declare enum Constraints {
|
|
4
|
+
PrimaryKey = "PRIMARY KEY",
|
|
5
|
+
ForeignKey = "FOREIGN KEY"
|
|
6
|
+
}
|
|
7
|
+
export declare abstract class AlterOption extends Expression {
|
|
8
|
+
column: ColumnDefinitionOptions;
|
|
9
|
+
constructor(column: ColumnDefinitionOptions);
|
|
10
|
+
abstract toSQL(): string;
|
|
11
|
+
}
|
|
12
|
+
export declare class AddColumn extends AlterOption {
|
|
13
|
+
toSQL(): string;
|
|
14
|
+
}
|
|
15
|
+
export declare class AddConstraint extends AlterOption {
|
|
16
|
+
type: Constraints;
|
|
17
|
+
constructor(column: ColumnDefinitionOptions, type: Constraints);
|
|
18
|
+
toSQL(): string;
|
|
19
|
+
}
|
|
20
|
+
export declare class ModifyColumn extends AlterOption {
|
|
21
|
+
toSQL(): string;
|
|
22
|
+
}
|
|
23
|
+
export declare class DropColumn extends Expression {
|
|
24
|
+
column: string;
|
|
25
|
+
constructor(column: string);
|
|
26
|
+
toSQL(): string;
|
|
27
|
+
}
|
|
28
|
+
export declare class Alter extends Expression {
|
|
29
|
+
table: string;
|
|
30
|
+
alterOptions: Expression[];
|
|
31
|
+
constructor(table: string, alterOptions: Expression[]);
|
|
32
|
+
toSQL(): string;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../Database/Drivers/MySQL/Alter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAG9D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/C,oBAAY,WAAW;IACnB,UAAU,gBAAgB;IAC1B,UAAU,gBAAgB;CAC7B;AAED,8BAAsB,WAAY,SAAQ,UAAU;IAC7B,MAAM,EAAE,uBAAuB;gBAA/B,MAAM,EAAE,uBAAuB;IAElD,QAAQ,CAAC,KAAK,IAAI,MAAM;CAC3B;AAED,qBAAa,SAAU,SAAQ,WAAW;IACtC,KAAK,IAAI,MAAM;CAGlB;AAED,qBAAa,aAAc,SAAQ,WAAW;IAEU,IAAI,EAAE,WAAW;gBAAzD,MAAM,EAAE,uBAAuB,EAAS,IAAI,EAAE,WAAW;IAErE,KAAK,IAAI,MAAM;CAGlB;AAED,qBAAa,YAAa,SAAQ,WAAW;IACzC,KAAK,IAAI,MAAM;CAGlB;AAED,qBAAa,UAAW,SAAQ,UAAU;IACnB,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM;IAEjC,KAAK,IAAI,MAAM;CAGlB;AAED,qBAAa,KAAM,SAAQ,UAAU;IACd,KAAK,EAAE,MAAM;IAAS,YAAY,EAAE,UAAU,EAAE;gBAAhD,KAAK,EAAE,MAAM,EAAS,YAAY,EAAE,UAAU,EAAE;IAEnE,KAAK;CAMR"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Alter = exports.DropColumn = exports.ModifyColumn = exports.AddConstraint = exports.AddColumn = exports.AlterOption = exports.Constraints = void 0;
|
|
4
|
+
const Helpers_1 = require("../../../Helpers");
|
|
5
|
+
const ColumnDefinition_1 = require("@Typetron/Database/Drivers/MySQL/ColumnDefinition");
|
|
6
|
+
const Database_1 = require("@Typetron/Database");
|
|
7
|
+
var Constraints;
|
|
8
|
+
(function (Constraints) {
|
|
9
|
+
Constraints["PrimaryKey"] = "PRIMARY KEY";
|
|
10
|
+
Constraints["ForeignKey"] = "FOREIGN KEY";
|
|
11
|
+
})(Constraints = exports.Constraints || (exports.Constraints = {}));
|
|
12
|
+
class AlterOption extends Database_1.Expression {
|
|
13
|
+
constructor(column) {
|
|
14
|
+
super();
|
|
15
|
+
this.column = column;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.AlterOption = AlterOption;
|
|
19
|
+
class AddColumn extends AlterOption {
|
|
20
|
+
toSQL() {
|
|
21
|
+
return `ADD ${new ColumnDefinition_1.ColumnDefinition(this.column).toSQL()}`;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.AddColumn = AddColumn;
|
|
25
|
+
class AddConstraint extends AlterOption {
|
|
26
|
+
constructor(column, type) {
|
|
27
|
+
super(column);
|
|
28
|
+
this.type = type;
|
|
29
|
+
}
|
|
30
|
+
toSQL() {
|
|
31
|
+
return `ADD CONSTRAINT ${this.type} (${this.column.name})`;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.AddConstraint = AddConstraint;
|
|
35
|
+
class ModifyColumn extends AlterOption {
|
|
36
|
+
toSQL() {
|
|
37
|
+
return `MODIFY ${new ColumnDefinition_1.ColumnDefinition(this.column).toSQL()}`;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.ModifyColumn = ModifyColumn;
|
|
41
|
+
class DropColumn extends Database_1.Expression {
|
|
42
|
+
constructor(column) {
|
|
43
|
+
super();
|
|
44
|
+
this.column = column;
|
|
45
|
+
}
|
|
46
|
+
toSQL() {
|
|
47
|
+
return `DROP COLUMN ${Helpers_1.wrap(this.column)}`;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.DropColumn = DropColumn;
|
|
51
|
+
class Alter extends Database_1.Expression {
|
|
52
|
+
constructor(table, alterOptions) {
|
|
53
|
+
super();
|
|
54
|
+
this.table = table;
|
|
55
|
+
this.alterOptions = alterOptions;
|
|
56
|
+
}
|
|
57
|
+
toSQL() {
|
|
58
|
+
return `
|
|
59
|
+
ALTER TABLE ${Helpers_1.wrap(this.table)}
|
|
60
|
+
${this.alterOptions.map(option => option.toSQL()).join(', \n')}
|
|
61
|
+
`;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.Alter = Alter;
|
|
65
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../Database/Drivers/MySQL/Alter/index.ts"],"names":[],"mappings":";;;AACA,8CAAuC;AACvC,wFAAoF;AACpF,iDAA+C;AAE/C,IAAY,WAGX;AAHD,WAAY,WAAW;IACnB,yCAA0B,CAAA;IAC1B,yCAA0B,CAAA;AAC9B,CAAC,EAHW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAGtB;AAED,MAAsB,WAAY,SAAQ,qBAAU;IAChD,YAAmB,MAA+B;QAAG,KAAK,EAAE,CAAA;QAAzC,WAAM,GAAN,MAAM,CAAyB;IAAU,CAAC;CAGhE;AAJD,kCAIC;AAED,MAAa,SAAU,SAAQ,WAAW;IACtC,KAAK;QACD,OAAO,OAAO,IAAI,mCAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAA;IAC7D,CAAC;CACJ;AAJD,8BAIC;AAED,MAAa,aAAc,SAAQ,WAAW;IAE1C,YAAY,MAA+B,EAAS,IAAiB;QAAG,KAAK,CAAC,MAAM,CAAC,CAAA;QAAjC,SAAI,GAAJ,IAAI,CAAa;IAAgB,CAAC;IAEtF,KAAK;QACD,OAAO,kBAAkB,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAA;IAC9D,CAAC;CACJ;AAPD,sCAOC;AAED,MAAa,YAAa,SAAQ,WAAW;IACzC,KAAK;QACD,OAAO,UAAU,IAAI,mCAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAA;IAChE,CAAC;CACJ;AAJD,oCAIC;AAED,MAAa,UAAW,SAAQ,qBAAU;IACtC,YAAmB,MAAc;QAAG,KAAK,EAAE,CAAA;QAAxB,WAAM,GAAN,MAAM,CAAQ;IAAU,CAAC;IAE5C,KAAK;QACD,OAAO,eAAe,cAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA;IAC7C,CAAC;CACJ;AAND,gCAMC;AAED,MAAa,KAAM,SAAQ,qBAAU;IACjC,YAAmB,KAAa,EAAS,YAA0B;QAAG,KAAK,EAAE,CAAA;QAA1D,UAAK,GAAL,KAAK,CAAQ;QAAS,iBAAY,GAAZ,YAAY,CAAc;IAAU,CAAC;IAE9E,KAAK;QACD,OAAO;0BACW,cAAI,CAAC,IAAI,CAAC,KAAK,CAAC;kBACxB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;SACrE,CAAA;IACL,CAAC;CACJ;AATD,sBASC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColumnDefinition.d.ts","sourceRoot":"","sources":["../../../../Database/Drivers/MySQL/ColumnDefinition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAG3D,qBAAa,gBAAgB;IACN,OAAO,EAAE,uBAAuB;gBAAhC,OAAO,EAAE,uBAAuB;IAEnD,KAAK;CASR"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ColumnDefinition = void 0;
|
|
4
|
+
const Helpers_1 = require("../../Helpers");
|
|
5
|
+
class ColumnDefinition {
|
|
6
|
+
constructor(options) {
|
|
7
|
+
this.options = options;
|
|
8
|
+
}
|
|
9
|
+
toSQL() {
|
|
10
|
+
const sqlParts = [Helpers_1.wrap(this.options.name), this.options.type];
|
|
11
|
+
if (this.options.autoIncrement) {
|
|
12
|
+
sqlParts.push('AUTO_INCREMENT');
|
|
13
|
+
}
|
|
14
|
+
return sqlParts.join(' ');
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.ColumnDefinition = ColumnDefinition;
|
|
18
|
+
//# sourceMappingURL=ColumnDefinition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColumnDefinition.js","sourceRoot":"","sources":["../../../../Database/Drivers/MySQL/ColumnDefinition.ts"],"names":[],"mappings":";;;AACA,2CAAoC;AAEpC,MAAa,gBAAgB;IACzB,YAAmB,OAAgC;QAAhC,YAAO,GAAP,OAAO,CAAyB;IAAG,CAAC;IAEvD,KAAK;QACD,MAAM,QAAQ,GAAG,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAE7D,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;YAC5B,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;SAClC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC7B,CAAC;CACJ;AAZD,4CAYC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BaseStatement } from '../SQL/Statements/BaseStatement';
|
|
2
|
+
import { ColumnDefinitionOptions } from '../SQL';
|
|
3
|
+
export declare class Create extends BaseStatement {
|
|
4
|
+
columns: ColumnDefinitionOptions[];
|
|
5
|
+
constructor(table: string, columns?: ColumnDefinitionOptions[]);
|
|
6
|
+
toSQL(): string;
|
|
7
|
+
private getColumnsSQL;
|
|
8
|
+
private getColumnSQL;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=Create.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Create.d.ts","sourceRoot":"","sources":["../../../../Database/Drivers/MySQL/Create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,QAAQ,CAAA;AAGhD,qBAAa,MAAO,SAAQ,aAAa;IAEH,OAAO,EAAE,uBAAuB,EAAE;gBAAxD,KAAK,EAAE,MAAM,EAAS,OAAO,GAAE,uBAAuB,EAAO;IAYzE,KAAK;IAeL,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;CASvB"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Create = void 0;
|
|
4
|
+
const BaseStatement_1 = require("../SQL/Statements/BaseStatement");
|
|
5
|
+
const Helpers_1 = require("../../Helpers");
|
|
6
|
+
class Create extends BaseStatement_1.BaseStatement {
|
|
7
|
+
constructor(table, columns = []) {
|
|
8
|
+
super({
|
|
9
|
+
table,
|
|
10
|
+
columns: [],
|
|
11
|
+
joins: [],
|
|
12
|
+
wheres: [],
|
|
13
|
+
groups: [],
|
|
14
|
+
orders: [],
|
|
15
|
+
having: []
|
|
16
|
+
});
|
|
17
|
+
this.columns = columns;
|
|
18
|
+
}
|
|
19
|
+
toSQL() {
|
|
20
|
+
const definitions = this.getColumnsSQL(this.columns);
|
|
21
|
+
this.columns.where('primaryKey').whenNotEmpty(primaryColumns => {
|
|
22
|
+
definitions.push(`PRIMARY KEY (${primaryColumns.pluck('name').join(', ')})`);
|
|
23
|
+
});
|
|
24
|
+
return `
|
|
25
|
+
CREATE TABLE ${this.table}
|
|
26
|
+
(
|
|
27
|
+
${definitions.join(', \n')}
|
|
28
|
+
)
|
|
29
|
+
`;
|
|
30
|
+
}
|
|
31
|
+
getColumnsSQL(columns) {
|
|
32
|
+
return columns.map(this.getColumnSQL);
|
|
33
|
+
}
|
|
34
|
+
getColumnSQL(column) {
|
|
35
|
+
const sqlParts = [Helpers_1.wrap(column.name), column.type];
|
|
36
|
+
if (column.autoIncrement) {
|
|
37
|
+
sqlParts.push('AUTO_INCREMENT');
|
|
38
|
+
}
|
|
39
|
+
return sqlParts.join(' ');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.Create = Create;
|
|
43
|
+
//# sourceMappingURL=Create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Create.js","sourceRoot":"","sources":["../../../../Database/Drivers/MySQL/Create.ts"],"names":[],"mappings":";;;AAAA,mEAA+D;AAE/D,2CAAoC;AAEpC,MAAa,MAAO,SAAQ,6BAAa;IAErC,YAAY,KAAa,EAAS,UAAqC,EAAE;QACrE,KAAK,CAAC;YACF,KAAK;YACL,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;SACb,CAAC,CAAA;QAT4B,YAAO,GAAP,OAAO,CAAgC;IAUzE,CAAC;IAED,KAAK;QACD,MAAM,WAAW,GAAa,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAE9D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE;YAC3D,WAAW,CAAC,IAAI,CAAC,gBAAgB,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAChF,CAAC,CAAC,CAAA;QAEF,OAAO;2BACY,IAAI,CAAC,KAAK;;kBAEnB,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;;SAEjC,CAAA;IACL,CAAC;IAEO,aAAa,CAAC,OAAkC;QACpD,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACzC,CAAC;IAEO,YAAY,CAAC,MAA+B;QAChD,MAAM,QAAQ,GAAG,CAAC,cAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QAEjD,IAAI,MAAM,CAAC,aAAa,EAAE;YACtB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;SAClC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC7B,CAAC;CACJ;AA1CD,wBA0CC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { DatabaseDriver } from '
|
|
1
|
+
import { DatabaseDriver } from '../DatabaseDriver';
|
|
2
2
|
import { Connection, ConnectionConfig, OkPacket } from 'mysql';
|
|
3
|
-
import { SqlValue } from '
|
|
4
|
-
import { Create } from '
|
|
3
|
+
import { SqlValue } from '../../Types';
|
|
4
|
+
import { Create } from './Create';
|
|
5
5
|
import { Select } from '../SQL/Statements/Select';
|
|
6
6
|
import { Insert } from '../SQL/Statements/Insert';
|
|
7
7
|
import { Delete } from '../SQL/Statements/Delete';
|
|
@@ -33,6 +33,10 @@ export declare class MysqlDriver extends DatabaseDriver {
|
|
|
33
33
|
tableColumns(table: string): Promise<{
|
|
34
34
|
name: string;
|
|
35
35
|
type: string;
|
|
36
|
+
nullable: boolean;
|
|
37
|
+
default: string | number | undefined;
|
|
38
|
+
autoIncrement: 0 | 1;
|
|
39
|
+
primaryKey: boolean;
|
|
36
40
|
}[]>;
|
|
37
41
|
}
|
|
38
42
|
//# sourceMappingURL=MysqlDriver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MysqlDriver.d.ts","sourceRoot":"","sources":["../../../../Database/Drivers/MySQL/MysqlDriver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"MysqlDriver.d.ts","sourceRoot":"","sources":["../../../../Database/Drivers/MySQL/MysqlDriver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAoB,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAYlD,qBAAa,WAAY,SAAQ,cAAc;IAC3C,UAAU,EAAE,UAAU,CAAA;IAEtB,MAAM,EAAE,cAAc,CAAmB;IAEzC,UAAU;;;;;;;MAOT;gBAEW,gBAAgB,EAAE,gBAAgB;IAUxC,QAAQ,CAAC,KAAK,EAAE,MAAM;IAI5B,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,QAAQ,EAAO,GAAG,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAC;IAYlE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,QAAQ,EAAO;IAI1C,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,QAAQ,EAAO,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAI5D,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,QAAQ,EAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAI5D,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,QAAQ,EAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAIxE,MAAM;cACqB,MAAM;;IASjC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWtC,YAAY,CAAC,KAAK,EAAE,MAAM;;;;;;;;CAwBnC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MysqlDriver = void 0;
|
|
4
|
-
const DatabaseDriver_1 = require("
|
|
4
|
+
const DatabaseDriver_1 = require("../DatabaseDriver");
|
|
5
5
|
const mysql_1 = require("mysql");
|
|
6
|
-
const Create_1 = require("
|
|
6
|
+
const Create_1 = require("./Create");
|
|
7
7
|
const Select_1 = require("../SQL/Statements/Select");
|
|
8
8
|
const Insert_1 = require("../SQL/Statements/Insert");
|
|
9
9
|
const Delete_1 = require("../SQL/Statements/Delete");
|
|
@@ -56,25 +56,37 @@ class MysqlDriver extends DatabaseDriver_1.DatabaseDriver {
|
|
|
56
56
|
return (await this.runRaw(query, params)).insertId;
|
|
57
57
|
}
|
|
58
58
|
tables() {
|
|
59
|
-
return this.get(`select TABLE_NAME as name
|
|
60
|
-
from information_schema.TABLES
|
|
61
|
-
WHERE table_schema = ?
|
|
59
|
+
return this.get(`select TABLE_NAME as name
|
|
60
|
+
from information_schema.TABLES
|
|
61
|
+
WHERE table_schema = ?
|
|
62
62
|
`, [this.connection.config.database]);
|
|
63
63
|
}
|
|
64
64
|
tableExists(table) {
|
|
65
|
-
return this.first(`select *
|
|
66
|
-
from information_schema.tables
|
|
67
|
-
where table_name = ?
|
|
68
|
-
and table_schema = ?
|
|
65
|
+
return this.first(`select *
|
|
66
|
+
from information_schema.tables
|
|
67
|
+
where table_name = ?
|
|
68
|
+
and table_schema = ?
|
|
69
69
|
`, [table, this.connection.config.database]);
|
|
70
70
|
}
|
|
71
|
-
tableColumns(table) {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
71
|
+
async tableColumns(table) {
|
|
72
|
+
const columnsInfo = await this.get(`select cast(IS_NULLABLE = 'YES' as unsigned) as nullable,
|
|
73
|
+
cast(EXTRA = 'auto_increment' as unsigned) as autoIncrement,
|
|
74
|
+
cast(COLUMN_KEY = 'PRI' as unsigned) as primaryKey,
|
|
75
|
+
COLUMN_NAME as name,
|
|
76
|
+
DATA_TYPE as type,
|
|
77
|
+
COLUMN_DEFAULT as 'default'
|
|
78
|
+
from information_schema.COLUMNS
|
|
79
|
+
where table_name = ?
|
|
80
|
+
and table_schema = ?
|
|
77
81
|
`, [table, this.connection.config.database]);
|
|
82
|
+
return columnsInfo.map(info => ({
|
|
83
|
+
name: info.name,
|
|
84
|
+
type: info.type,
|
|
85
|
+
nullable: Boolean(info.nullable),
|
|
86
|
+
default: info.default,
|
|
87
|
+
autoIncrement: info.autoIncrement,
|
|
88
|
+
primaryKey: Boolean(info.primaryKey)
|
|
89
|
+
}));
|
|
78
90
|
}
|
|
79
91
|
}
|
|
80
92
|
exports.MysqlDriver = MysqlDriver;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MysqlDriver.js","sourceRoot":"","sources":["../../../../Database/Drivers/MySQL/MysqlDriver.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"MysqlDriver.js","sourceRoot":"","sources":["../../../../Database/Drivers/MySQL/MysqlDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,16 @@
|
|
|
1
|
-
import { ColumnField, Entity } from '
|
|
1
|
+
import { ColumnField, Entity } from '../..';
|
|
2
2
|
import { Schema as BaseSchema } from '../SQL/Schema';
|
|
3
3
|
export declare class Schema extends BaseSchema {
|
|
4
|
-
|
|
4
|
+
columnMetadataToColumnDefinition(metadata: ColumnField<Entity>): {
|
|
5
|
+
name: string;
|
|
6
|
+
primaryKey: boolean;
|
|
7
|
+
autoIncrement: number;
|
|
8
|
+
type: string;
|
|
9
|
+
default: undefined;
|
|
10
|
+
nullable: boolean;
|
|
11
|
+
};
|
|
12
|
+
create(table: string, columns: ColumnField<Entity>[]): Promise<void>;
|
|
13
|
+
protected syncTableColumns(table: string, columnsMetadata: ColumnField<Entity>[]): Promise<void>;
|
|
14
|
+
private getColumnTypeBasedOnTypescriptType;
|
|
5
15
|
}
|
|
6
16
|
//# sourceMappingURL=Schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../../Database/Drivers/MySQL/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../../Database/Drivers/MySQL/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAA4B,MAAM,OAAO,CAAA;AACrE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,eAAe,CAAA;AAMpD,qBAAa,MAAO,SAAQ,UAAU;IAElC,gCAAgC,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC;;;;;;;;IAWxD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE;cAO1C,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE;IA6CtF,OAAO,CAAC,kCAAkC;CAS7C"}
|
|
@@ -1,11 +1,65 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Schema = void 0;
|
|
4
|
+
const __1 = require("../..");
|
|
4
5
|
const Schema_1 = require("../SQL/Schema");
|
|
6
|
+
const Create_1 = require("./Create");
|
|
7
|
+
const _1 = require(".");
|
|
8
|
+
const Alter_1 = require("./Alter");
|
|
5
9
|
class Schema extends Schema_1.Schema {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
10
|
+
columnMetadataToColumnDefinition(metadata) {
|
|
11
|
+
return {
|
|
12
|
+
name: metadata.column,
|
|
13
|
+
primaryKey: metadata.constructor === __1.PrimaryField,
|
|
14
|
+
autoIncrement: Number(metadata.constructor === __1.PrimaryField),
|
|
15
|
+
type: this.getColumnTypeBasedOnTypescriptType(metadata),
|
|
16
|
+
default: undefined,
|
|
17
|
+
nullable: true
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
async create(table, columns) {
|
|
21
|
+
const columnsDefinitions = columns.map(column => this.columnMetadataToColumnDefinition(column));
|
|
22
|
+
const createStatement = new Create_1.Create(table, columnsDefinitions);
|
|
23
|
+
await this.driver.run(createStatement.toSQL());
|
|
24
|
+
}
|
|
25
|
+
async syncTableColumns(table, columnsMetadata) {
|
|
26
|
+
const columns = columnsMetadata.map(metadata => this.columnMetadataToColumnDefinition(metadata));
|
|
27
|
+
const tableColumns = await this.driver.tableColumns(table);
|
|
28
|
+
let alters = [];
|
|
29
|
+
alters = alters.concat(columns
|
|
30
|
+
.whereNotIn('name', tableColumns.pluck('name'))
|
|
31
|
+
.map(column => new Alter_1.AddColumn({ ...column, autoIncrement: undefined })));
|
|
32
|
+
columns.whereIn('name', tableColumns.pluck('name'))
|
|
33
|
+
.forEach(column => {
|
|
34
|
+
var _a;
|
|
35
|
+
const typeInDB = (_a = tableColumns.findWhere('name', column.name)) === null || _a === void 0 ? void 0 : _a.type;
|
|
36
|
+
if (typeInDB !== column.type) {
|
|
37
|
+
alters.push(new Alter_1.ModifyColumn(column));
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
alters = alters.concat(tableColumns
|
|
41
|
+
.whereNotIn('name', columns.pluck('name'))
|
|
42
|
+
.map(tableColumn => new Alter_1.DropColumn(tableColumn.name)));
|
|
43
|
+
await this.driver.run(new Alter_1.Alter(table, alters).toSQL());
|
|
44
|
+
const additionalAlters = [];
|
|
45
|
+
columns.forEach(column => {
|
|
46
|
+
const dbInfo = tableColumns.findWhere('name', column.name);
|
|
47
|
+
if (column.primaryKey && !(dbInfo === null || dbInfo === void 0 ? void 0 : dbInfo.primaryKey)) {
|
|
48
|
+
additionalAlters.push(new Alter_1.AddConstraint(column, Alter_1.Constraints.PrimaryKey));
|
|
49
|
+
}
|
|
50
|
+
if (column.autoIncrement && !(dbInfo === null || dbInfo === void 0 ? void 0 : dbInfo.autoIncrement)) {
|
|
51
|
+
additionalAlters.push(new Alter_1.ModifyColumn(column));
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
if (!additionalAlters.empty()) {
|
|
55
|
+
await this.driver.run(new Alter_1.Alter(table, additionalAlters).toSQL());
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
getColumnTypeBasedOnTypescriptType(column) {
|
|
59
|
+
var _a, _b, _c;
|
|
60
|
+
const typePrototype = Array.from(_1.typesMatches.keys())
|
|
61
|
+
.find(key => column.type().prototype instanceof key) || String;
|
|
62
|
+
return (_c = (_b = (_a = _1.typesMatches.get(column.type())) !== null && _a !== void 0 ? _a : _1.typesMatches.get(column.constructor)) !== null && _b !== void 0 ? _b : _1.typesMatches.get(typePrototype)) !== null && _c !== void 0 ? _c : _1.typesMatches.get(String);
|
|
9
63
|
}
|
|
10
64
|
}
|
|
11
65
|
exports.Schema = Schema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../../../Database/Drivers/MySQL/Schema.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../../../Database/Drivers/MySQL/Schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../Database/Drivers/MySQL/index.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../Database/Drivers/MySQL/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY,kBAQvB,CAAA"}
|