@typetron/framework 0.3.17 → 0.3.18
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/Cache/Cache.d.ts +9 -0
- package/Cache/Cache.d.ts.map +1 -0
- package/Cache/Cache.js +7 -0
- package/Cache/Cache.js.map +1 -0
- package/Cache/CacheLoader.d.ts +8 -0
- package/Cache/CacheLoader.d.ts.map +1 -0
- package/Cache/CacheLoader.js +55 -0
- package/Cache/CacheLoader.js.map +1 -0
- package/Cache/Consumers/Cache.d.ts +18 -0
- package/Cache/Consumers/Cache.d.ts.map +1 -0
- package/Cache/Consumers/Cache.js +99 -0
- package/Cache/Consumers/Cache.js.map +1 -0
- package/Cache/Contracts/CacheInterface.d.ts +14 -0
- package/Cache/Contracts/CacheInterface.d.ts.map +1 -0
- package/Cache/Contracts/CacheInterface.js +3 -0
- package/Cache/Contracts/CacheInterface.js.map +1 -0
- package/Cache/Contracts/EngineInterface.d.ts +8 -0
- package/Cache/Contracts/EngineInterface.d.ts.map +1 -0
- package/Cache/Contracts/EngineInterface.js +3 -0
- package/Cache/Contracts/EngineInterface.js.map +1 -0
- package/Cache/Contracts/ServiceInterface.d.ts +8 -0
- package/Cache/Contracts/ServiceInterface.d.ts.map +1 -0
- package/Cache/Contracts/ServiceInterface.js +3 -0
- package/Cache/Contracts/ServiceInterface.js.map +1 -0
- package/Cache/Engines/DatabaseCache.d.ts +11 -0
- package/Cache/Engines/DatabaseCache.d.ts.map +1 -0
- package/Cache/Engines/DatabaseCache.js +40 -0
- package/Cache/Engines/DatabaseCache.js.map +1 -0
- package/Cache/Engines/FileCache.d.ts +22 -0
- package/Cache/Engines/FileCache.d.ts.map +1 -0
- package/Cache/Engines/FileCache.js +107 -0
- package/Cache/Engines/FileCache.js.map +1 -0
- package/Cache/Services/DatabaseCacheService.d.ts +13 -0
- package/Cache/Services/DatabaseCacheService.d.ts.map +1 -0
- package/Cache/Services/DatabaseCacheService.js +74 -0
- package/Cache/Services/DatabaseCacheService.js.map +1 -0
- package/Cache/Services/FileCacheService.d.ts +13 -0
- package/Cache/Services/FileCacheService.d.ts.map +1 -0
- package/Cache/Services/FileCacheService.js +60 -0
- package/Cache/Services/FileCacheService.js.map +1 -0
- package/Cache/Stores/DatabaseStore.d.ts +16 -0
- package/Cache/Stores/DatabaseStore.d.ts.map +1 -0
- package/Cache/Stores/DatabaseStore.js +208 -0
- package/Cache/Stores/DatabaseStore.js.map +1 -0
- package/Cache/Stores/FileStore.d.ts +16 -0
- package/Cache/Stores/FileStore.d.ts.map +1 -0
- package/Cache/Stores/FileStore.js +63 -0
- package/Cache/Stores/FileStore.js.map +1 -0
- package/Cache/Stores/MemoryStore.d.ts +13 -0
- package/Cache/Stores/MemoryStore.d.ts.map +1 -0
- package/Cache/Stores/MemoryStore.js +60 -0
- package/Cache/Stores/MemoryStore.js.map +1 -0
- package/Cache/index.d.ts +6 -0
- package/Cache/index.d.ts.map +1 -0
- package/Cache/index.js +18 -0
- package/Cache/index.js.map +1 -0
- package/Cache/types.d.ts +5 -0
- package/Cache/types.d.ts.map +1 -0
- package/Cache/types.js +3 -0
- package/Cache/types.js.map +1 -0
- package/Container/ClassResolver.d.ts +8 -8
- package/Container/ClassResolver.d.ts.map +1 -1
- package/Container/ClassResolver.js +89 -87
- package/Container/ClassResolver.js.map +1 -1
- package/Container/Container.d.ts +24 -24
- package/Container/Container.d.ts.map +1 -1
- package/Container/Container.js +118 -118
- package/Container/Container.js.map +1 -1
- package/Container/Contracts.d.ts +2 -2
- package/Container/Contracts.js +2 -2
- package/Container/Decorators.d.ts +4 -4
- package/Container/Decorators.js +21 -21
- package/Container/Metadata.d.ts +20 -20
- package/Container/Metadata.js +18 -18
- package/Container/Resolver.d.ts +18 -18
- package/Container/Resolver.js +15 -15
- package/Container/index.d.ts +5 -5
- package/Container/index.js +17 -17
- package/Database/Clauses/Where.js +1 -1
- package/Database/Connection.d.ts +20 -20
- package/Database/Connection.js +42 -42
- package/Database/Decorators.d.ts +36 -36
- package/Database/Decorators.js +116 -116
- package/Database/Drivers/DatabaseDriver.d.ts +28 -28
- package/Database/Drivers/DatabaseDriver.js +6 -6
- package/Database/Drivers/MySQL/Alter/index.d.ts +33 -33
- package/Database/Drivers/MySQL/Alter/index.js +61 -61
- package/Database/Drivers/MySQL/ColumnDefinition.d.ts +6 -6
- package/Database/Drivers/MySQL/ColumnDefinition.js +17 -17
- package/Database/Drivers/MySQL/Create.d.ts +9 -9
- package/Database/Drivers/MySQL/Create.js +37 -37
- package/Database/Drivers/MySQL/MysqlDriver.d.ts +41 -41
- package/Database/Drivers/MySQL/MysqlDriver.js +76 -76
- package/Database/Drivers/MySQL/Schema.d.ts +15 -15
- package/Database/Drivers/MySQL/Schema.js +65 -65
- package/Database/Drivers/MySQL/index.d.ts +1 -1
- package/Database/Drivers/MySQL/index.js +15 -15
- package/Database/Drivers/SQL/Schema.d.ts +6 -6
- package/Database/Drivers/SQL/Schema.js +57 -57
- package/Database/Drivers/SQL/Statements/Alter.d.ts +7 -7
- package/Database/Drivers/SQL/Statements/Alter.js +17 -17
- package/Database/Drivers/SQL/Statements/BaseStatement.d.ts +12 -12
- package/Database/Drivers/SQL/Statements/BaseStatement.js +46 -46
- package/Database/Drivers/SQL/Statements/Delete.d.ts +5 -5
- package/Database/Drivers/SQL/Statements/Delete.js +16 -16
- package/Database/Drivers/SQL/Statements/Insert.d.ts +6 -6
- package/Database/Drivers/SQL/Statements/Insert.js +23 -23
- package/Database/Drivers/SQL/Statements/Select.d.ts +7 -7
- package/Database/Drivers/SQL/Statements/Select.js +44 -44
- package/Database/Drivers/SQL/Statements/Update.d.ts +6 -6
- package/Database/Drivers/SQL/Statements/Update.js +27 -27
- package/Database/Drivers/SQL/index.d.ts +8 -8
- package/Database/Drivers/SQL/index.js +2 -2
- package/Database/Drivers/SQLite/Create.d.ts +9 -9
- package/Database/Drivers/SQLite/Create.js +36 -36
- package/Database/Drivers/SQLite/Schema.d.ts +15 -15
- package/Database/Drivers/SQLite/Schema.js +44 -44
- package/Database/Drivers/SQLite/SqliteDriver.d.ts +42 -42
- package/Database/Drivers/SQLite/SqliteDriver.d.ts.map +1 -1
- package/Database/Drivers/SQLite/SqliteDriver.js +102 -102
- package/Database/Drivers/SQLite/SqliteDriver.js.map +1 -1
- package/Database/Drivers/SQLite/index.d.ts +2 -2
- package/Database/Drivers/SQLite/index.js +26 -26
- package/Database/Drivers/SchemaContract.d.ts +8 -8
- package/Database/Drivers/SchemaContract.js +9 -9
- package/Database/Drivers/Statement.d.ts +9 -9
- package/Database/Drivers/Statement.js +15 -15
- package/Database/Drivers/index.d.ts +4 -4
- package/Database/Drivers/index.js +16 -16
- package/Database/Entity.d.ts +64 -64
- package/Database/Entity.d.ts.map +1 -1
- package/Database/Entity.js +252 -252
- package/Database/Entity.js.map +1 -1
- package/Database/EntityNotFoundError.d.ts +5 -5
- package/Database/EntityNotFoundError.js +10 -10
- package/Database/EntityProxyHandler.d.ts +5 -5
- package/Database/EntityProxyHandler.js +30 -30
- package/Database/EntityQuery.d.ts +28 -28
- package/Database/EntityQuery.js +156 -156
- package/Database/Expression.d.ts +3 -3
- package/Database/Expression.js +6 -6
- package/Database/Fields.d.ts +155 -155
- package/Database/Fields.js +548 -548
- package/Database/Helpers.d.ts +1 -1
- package/Database/Helpers.js +16 -16
- package/Database/List.d.ts +24 -24
- package/Database/List.d.ts.map +1 -1
- package/Database/List.js +49 -49
- package/Database/List.js.map +1 -1
- package/Database/Migrations/Migration.d.ts +7 -7
- package/Database/Migrations/Migration.js +9 -9
- package/Database/Migrations/MigrationHistory.d.ts +8 -8
- package/Database/Migrations/MigrationHistory.js +38 -38
- package/Database/Migrations/Migrator.d.ts +20 -20
- package/Database/Migrations/Migrator.js +118 -118
- package/Database/Migrations/index.d.ts +3 -3
- package/Database/Migrations/index.js +15 -15
- package/Database/ORM/BaseRelationship.d.ts +7 -7
- package/Database/ORM/BaseRelationship.js +10 -10
- package/Database/Query.d.ts +62 -62
- package/Database/Query.d.ts.map +1 -1
- package/Database/Query.js +265 -264
- package/Database/Query.js.map +1 -1
- package/Database/Seeders/Seeder.d.ts +3 -3
- package/Database/Seeders/Seeder.js +6 -6
- package/Database/Seeders/SeederManager.d.ts +8 -8
- package/Database/Seeders/SeederManager.js +24 -24
- package/Database/Seeders/index.d.ts +2 -2
- package/Database/Seeders/index.js +14 -14
- package/Database/StringExpression.d.ts +6 -6
- package/Database/StringExpression.js +14 -14
- package/Database/Types.d.ts +117 -117
- package/Database/Types.d.ts.map +1 -1
- package/Database/Types.js +94 -94
- package/Database/Types.js.map +1 -1
- package/Database/index.d.ts +20 -20
- package/Database/index.js +20 -20
- package/Encryption/index.d.ts +15 -15
- package/Encryption/index.js +53 -53
- package/Forms/Decorators.d.ts +6 -6
- package/Forms/Decorators.js +28 -28
- package/Forms/Form.d.ts +17 -17
- package/Forms/Form.js +69 -69
- package/Forms/FormFields.d.ts +9 -9
- package/Forms/FormFields.js +35 -35
- package/Forms/index.d.ts +3 -3
- package/Forms/index.js +15 -15
- package/Framework/App.d.ts +6 -6
- package/Framework/App.js +9 -9
- package/Framework/Application.d.ts +17 -17
- package/Framework/Application.d.ts.map +1 -1
- package/Framework/Application.js +94 -93
- package/Framework/Application.js.map +1 -1
- package/Framework/Auth/Auth.d.ts +24 -24
- package/Framework/Auth/Auth.js +108 -108
- package/Framework/Auth/Authenticatable.d.ts +6 -6
- package/Framework/Auth/Authenticatable.js +2 -2
- package/Framework/Auth/User.d.ts +10 -10
- package/Framework/Auth/User.js +37 -37
- package/Framework/Auth/index.d.ts +5 -5
- package/Framework/Auth/index.d.ts.map +1 -1
- package/Framework/Auth/index.js +45 -45
- package/Framework/Auth/index.js.map +1 -1
- package/Framework/Config/AppConfig.d.ts +18 -18
- package/Framework/Config/AppConfig.js +11 -11
- package/Framework/Config/AuthConfig.d.ts +8 -8
- package/Framework/Config/AuthConfig.js +7 -7
- package/Framework/Config/BaseConfig.d.ts +6 -6
- package/Framework/Config/BaseConfig.js +12 -12
- package/Framework/Config/CacheConfig.d.ts +16 -0
- package/Framework/Config/CacheConfig.d.ts.map +1 -0
- package/Framework/Config/CacheConfig.js +23 -0
- package/Framework/Config/CacheConfig.js.map +1 -0
- package/Framework/Config/DatabaseConfig.d.ts +10 -10
- package/Framework/Config/DatabaseConfig.js +25 -25
- package/Framework/Config/index.d.ts +5 -4
- package/Framework/Config/index.d.ts.map +1 -1
- package/Framework/Config/index.js +17 -16
- package/Framework/Config/index.js.map +1 -1
- package/Framework/Middleware/AuthMiddleware.d.ts +7 -7
- package/Framework/Middleware/AuthMiddleware.js +63 -63
- package/Framework/Middleware/CorsMiddleware.d.ts +6 -6
- package/Framework/Middleware/CorsMiddleware.js +43 -43
- package/Framework/Middleware/StaticAssetsMiddleware.d.ts +14 -14
- package/Framework/Middleware/StaticAssetsMiddleware.js +104 -104
- package/Framework/Middleware/index.d.ts +2 -2
- package/Framework/Middleware/index.js +14 -14
- package/Framework/Provider.d.ts +5 -5
- package/Framework/Provider.js +20 -20
- package/Framework/Providers/CacheProvider.d.ts +7 -0
- package/Framework/Providers/CacheProvider.d.ts.map +1 -0
- package/Framework/Providers/CacheProvider.js +39 -0
- package/Framework/Providers/CacheProvider.js.map +1 -0
- package/Framework/Providers/DatabaseProvider.d.ts +9 -9
- package/Framework/Providers/DatabaseProvider.js +63 -63
- package/Framework/Providers/WebsocketsProvider.d.ts +12 -12
- package/Framework/Providers/WebsocketsProvider.js +122 -122
- package/Framework/Resolvers/AuthResolver.d.ts +5 -5
- package/Framework/Resolvers/AuthResolver.js +14 -14
- package/Framework/Resolvers/EntityResolver.d.ts +9 -9
- package/Framework/Resolvers/EntityResolver.js +40 -40
- package/Framework/Resolvers/FormResolver.d.ts +9 -9
- package/Framework/Resolvers/FormResolver.js +32 -32
- package/Framework/RootDir.d.ts +2 -2
- package/Framework/RootDir.js +6 -6
- package/Framework/index.d.ts +7 -6
- package/Framework/index.d.ts.map +1 -1
- package/Framework/index.js +19 -18
- package/Framework/index.js.map +1 -1
- package/Models/Model.d.ts +9 -9
- package/Models/Model.js +35 -35
- package/Models/index.d.ts +21 -21
- package/Models/index.d.ts.map +1 -1
- package/Models/index.js +58 -58
- package/Models/index.js.map +1 -1
- package/Router/BaseController.d.ts +4 -4
- package/Router/BaseController.js +20 -20
- package/Router/Decorators.d.ts +21 -21
- package/Router/Decorators.js +170 -170
- package/Router/Guard.d.ts +4 -4
- package/Router/Guard.js +10 -10
- package/Router/Http/Contracts.d.ts +3 -3
- package/Router/Http/Contracts.js +2 -2
- package/Router/Http/ErrorHandler.d.ts +9 -9
- package/Router/Http/ErrorHandler.js +51 -51
- package/Router/Http/ErrorHandlerInterface.d.ts +5 -5
- package/Router/Http/ErrorHandlerInterface.js +6 -6
- package/Router/Http/Errors/HttpError.d.ts +7 -7
- package/Router/Http/Errors/HttpError.js +15 -15
- package/Router/Http/Handler.d.ts +15 -15
- package/Router/Http/Handler.js +131 -131
- package/Router/Http/Request.d.ts +22 -22
- package/Router/Http/Request.js +151 -151
- package/Router/Http/Response.d.ts +17 -17
- package/Router/Http/Response.js +51 -51
- package/Router/Http/index.d.ts +83 -83
- package/Router/Http/index.js +99 -99
- package/Router/Metadata.d.ts +31 -31
- package/Router/Metadata.js +25 -25
- package/Router/Middleware.d.ts +5 -5
- package/Router/Middleware.js +2 -2
- package/Router/Route.d.ts +23 -23
- package/Router/Route.js +110 -110
- package/Router/RouteNotFoundError.d.ts +3 -3
- package/Router/RouteNotFoundError.js +9 -9
- package/Router/Router.d.ts +12 -12
- package/Router/Router.js +32 -32
- package/Router/Websockets/Handler.d.ts +12 -12
- package/Router/Websockets/Handler.js +59 -59
- package/Router/Websockets/WebsocketEvent.d.ts +15 -15
- package/Router/Websockets/WebsocketEvent.js +53 -53
- package/Router/Websockets/index.d.ts +16 -16
- package/Router/Websockets/index.d.ts.map +1 -1
- package/Router/Websockets/index.js +57 -57
- package/Router/Websockets/index.js.map +1 -1
- package/Router/Websockets/types.d.ts +20 -20
- package/Router/Websockets/types.js +8 -8
- package/Router/index.d.ts +6 -6
- package/Router/index.js +18 -18
- package/Storage/File.d.ts +11 -11
- package/Storage/File.js +46 -46
- package/Storage/Image.d.ts +3 -3
- package/Storage/Image.js +7 -7
- package/Storage/InvalidImage.d.ts +3 -3
- package/Storage/InvalidImage.js +7 -7
- package/Storage/Storage.d.ts +13 -12
- package/Storage/Storage.d.ts.map +1 -1
- package/Storage/Storage.js +104 -110
- package/Storage/Storage.js.map +1 -1
- package/Storage/index.d.ts +4 -4
- package/Storage/index.js +16 -16
- package/Storage/utils.d.ts +5 -5
- package/Storage/utils.js +20 -20
- package/Support/Array.d.ts +28 -28
- package/Support/Array.d.ts.map +1 -1
- package/Support/Array.js +108 -108
- package/Support/Array.js.map +1 -1
- package/Support/Math.d.ts +6 -6
- package/Support/Math.js +7 -7
- package/Support/Metadata.d.ts +14 -14
- package/Support/Metadata.js +20 -20
- package/Support/String.d.ts +11 -11
- package/Support/String.js +23 -23
- package/Support/index.d.ts +14 -13
- package/Support/index.d.ts.map +1 -1
- package/Support/index.js +6 -5
- package/Support/index.js.map +1 -1
- package/Support/utils.d.ts +2 -0
- package/Support/utils.d.ts.map +1 -0
- package/Support/utils.js +13 -0
- package/Support/utils.js.map +1 -0
- package/Testing/TestCase.d.ts +32 -32
- package/Testing/TestCase.js +130 -130
- package/Validation/Rule.d.ts +6 -6
- package/Validation/Rule.js +6 -6
- package/Validation/RuleInterface.d.ts +6 -6
- package/Validation/RuleInterface.js +2 -2
- package/Validation/Rules/Email.d.ts +3 -3
- package/Validation/Rules/Email.js +20 -20
- package/Validation/Rules/FileExtension.d.ts +3 -3
- package/Validation/Rules/FileExtension.js +22 -22
- package/Validation/Rules/MaxLength.d.ts +3 -3
- package/Validation/Rules/MaxLength.js +19 -19
- package/Validation/Rules/MinLength.d.ts +3 -3
- package/Validation/Rules/MinLength.js +19 -19
- package/Validation/Rules/Optional.d.ts +3 -3
- package/Validation/Rules/Optional.js +19 -19
- package/Validation/Rules/Required.d.ts +3 -3
- package/Validation/Rules/Required.js +26 -26
- package/Validation/Validator.d.ts +11 -11
- package/Validation/Validator.js +10 -10
- package/Validation/index.d.ts +9 -9
- package/Validation/index.js +21 -21
- package/package.json +9 -5
- package/tests/Cache/DatabaseStoreTest.d.ts +2 -0
- package/tests/Cache/DatabaseStoreTest.d.ts.map +1 -0
- package/tests/Cache/DatabaseStoreTest.js +138 -0
- package/tests/Cache/DatabaseStoreTest.js.map +1 -0
- package/tests/Cache/FileStoreTest.d.ts +2 -0
- package/tests/Cache/FileStoreTest.d.ts.map +1 -0
- package/tests/Cache/FileStoreTest.js +142 -0
- package/tests/Cache/FileStoreTest.js.map +1 -0
- package/tests/Cache/MemoryStoreTest.d.ts +2 -0
- package/tests/Cache/MemoryStoreTest.d.ts.map +1 -0
- package/tests/Cache/MemoryStoreTest.js +141 -0
- package/tests/Cache/MemoryStoreTest.js.map +1 -0
- package/tests/Container/ContainerTest.d.ts +1 -1
- package/tests/Container/ContainerTest.js +395 -395
- package/tests/Database/Drivers/MySQL/AlterTest.d.ts +1 -1
- package/tests/Database/Drivers/MySQL/AlterTest.js +135 -135
- package/tests/Database/Drivers/MySQL/CreateTest.d.ts +1 -1
- package/tests/Database/Drivers/MySQL/CreateTest.js +57 -57
- package/tests/Database/Drivers/MysqlDriverTest.d.ts +1 -1
- package/tests/Database/Drivers/MysqlDriverTest.js +149 -149
- package/tests/Database/Drivers/SqliteDriverTest.d.ts +1 -1
- package/tests/Database/Drivers/SqliteDriverTest.js +135 -135
- package/tests/Database/Entities/Article.d.ts +10 -10
- package/tests/Database/Entities/Article.js +42 -42
- package/tests/Database/Entities/Profile.d.ts +10 -10
- package/tests/Database/Entities/Profile.js +38 -38
- package/tests/Database/Entities/Role.d.ts +8 -8
- package/tests/Database/Entities/Role.js +30 -30
- package/tests/Database/Entities/User.d.ts +15 -15
- package/tests/Database/Entities/User.js +57 -57
- package/tests/Database/EntityRelationshipsTest.d.ts +1 -1
- package/tests/Database/EntityRelationshipsTest.js +552 -552
- package/tests/Database/EntityTest.d.ts +1 -1
- package/tests/Database/EntityTest.js +233 -233
- package/tests/Database/Migrations/RunnerTest.d.ts +1 -1
- package/tests/Database/Migrations/RunnerTest.js +111 -111
- package/tests/Database/Migrations/migrations/1.createUserTable.d.ts +5 -5
- package/tests/Database/Migrations/migrations/1.createUserTable.js +13 -13
- package/tests/Database/Migrations/migrations/2.createArticlesTable.d.ts +5 -5
- package/tests/Database/Migrations/migrations/2.createArticlesTable.js +13 -13
- package/tests/Database/QueryTest.d.ts +1 -1
- package/tests/Database/QueryTest.js +622 -622
- package/tests/Database/SchemaTest.d.ts +1 -1
- package/tests/Database/SchemaTest.js +45 -45
- package/tests/Database/Seeders/RunnerTest.d.ts +1 -1
- package/tests/Database/Seeders/RunnerTest.js +43 -43
- package/tests/Database/Seeders/seeders/RandomSeeder.d.ts +4 -4
- package/tests/Database/Seeders/seeders/RandomSeeder.js +13 -13
- package/tests/Database/utils.d.ts +5 -5
- package/tests/Database/utils.js +18 -18
- package/tests/Forms/FormsTest.d.ts +1 -1
- package/tests/Forms/FormsTest.js +79 -79
- package/tests/Framework/Middleware/StaticAssetsMiddlewareTest.d.ts +1 -1
- package/tests/Framework/Middleware/StaticAssetsMiddlewareTest.js +165 -165
- package/tests/Framework/Resolvers/EntityResolverTest.d.ts +1 -1
- package/tests/Framework/Resolvers/EntityResolverTest.js +59 -59
- package/tests/Model/ModelTest.d.ts +1 -1
- package/tests/Model/ModelTest.js +233 -233
- package/tests/Router/HttpHandlerTest.d.ts +1 -1
- package/tests/Router/HttpHandlerTest.js +36 -36
- package/tests/Router/WebSocketsHandlerTest.d.ts +1 -1
- package/tests/Router/WebSocketsHandlerTest.js +35 -35
- package/tests/Support/ArrayTest.d.ts +1 -1
- package/tests/Support/ArrayTest.js +258 -258
- package/tests/Support/StringTest.d.ts +1 -1
- package/tests/Support/StringTest.js +38 -38
- package/tests/Validation/RulesTest.d.ts +1 -1
- package/tests/Validation/RulesTest.js +67 -67
- package/Database/Drivers/SQL/Statements/Create.d.ts +0 -7
- package/Database/Drivers/SQL/Statements/Create.d.ts.map +0 -1
- package/Database/Drivers/SQL/Statements/Create.js +0 -22
- package/Database/Drivers/SQL/Statements/Create.js.map +0 -1
- package/LICENSE.md +0 -21
- package/Readme.md +0 -123
|
@@ -1,74 +1,74 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MysqlDriver = void 0;
|
|
4
|
-
const DatabaseDriver_1 = require("../DatabaseDriver");
|
|
5
|
-
const mysql_1 = require("mysql");
|
|
6
|
-
const Create_1 = require("./Create");
|
|
7
|
-
const Select_1 = require("../SQL/Statements/Select");
|
|
8
|
-
const Insert_1 = require("../SQL/Statements/Insert");
|
|
9
|
-
const Delete_1 = require("../SQL/Statements/Delete");
|
|
10
|
-
const Update_1 = require("../SQL/Statements/Update");
|
|
11
|
-
const Alter_1 = require("../SQL/Statements/Alter");
|
|
12
|
-
const Schema_1 = require("./Schema");
|
|
13
|
-
class MysqlDriver extends DatabaseDriver_1.DatabaseDriver {
|
|
14
|
-
constructor(connectionConfig) {
|
|
15
|
-
super();
|
|
16
|
-
this.schema = new Schema_1.Schema(this);
|
|
17
|
-
this.statements = {
|
|
18
|
-
create: Create_1.Create,
|
|
19
|
-
select: Select_1.Select,
|
|
20
|
-
insert: Insert_1.Insert,
|
|
21
|
-
delete: Delete_1.Delete,
|
|
22
|
-
update: Update_1.Update,
|
|
23
|
-
alter: Alter_1.Alter,
|
|
24
|
-
};
|
|
25
|
-
this.connection = mysql_1.createConnection({
|
|
26
|
-
connectTimeout: 30000,
|
|
27
|
-
...connectionConfig,
|
|
28
|
-
});
|
|
29
|
-
this.connection.connect();
|
|
30
|
-
}
|
|
31
|
-
async truncate(table) {
|
|
32
|
-
await this.run(`TRUNCATE TABLE ${table}`);
|
|
33
|
-
}
|
|
34
|
-
runRaw(query, params = []) {
|
|
35
|
-
return new Promise((resolve, reject) => {
|
|
36
|
-
this.connection.query(query, params, (error, results, fields) => {
|
|
37
|
-
if (error) {
|
|
38
|
-
error.message += `in SQL: "${error.sql}"`;
|
|
39
|
-
return reject(error);
|
|
40
|
-
}
|
|
41
|
-
resolve(results);
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
async run(query, params = []) {
|
|
46
|
-
await this.runRaw(query, params);
|
|
47
|
-
}
|
|
48
|
-
async get(query, params = []) {
|
|
49
|
-
return await this.runRaw(query, params);
|
|
50
|
-
}
|
|
51
|
-
async first(query, params = []) {
|
|
52
|
-
var _a;
|
|
53
|
-
return (_a = (await this.runRaw(query, params))) === null || _a === void 0 ? void 0 : _a[0];
|
|
54
|
-
}
|
|
55
|
-
async insertOne(query, params = []) {
|
|
56
|
-
return (await this.runRaw(query, params)).insertId;
|
|
57
|
-
}
|
|
58
|
-
tables() {
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MysqlDriver = void 0;
|
|
4
|
+
const DatabaseDriver_1 = require("../DatabaseDriver");
|
|
5
|
+
const mysql_1 = require("mysql");
|
|
6
|
+
const Create_1 = require("./Create");
|
|
7
|
+
const Select_1 = require("../SQL/Statements/Select");
|
|
8
|
+
const Insert_1 = require("../SQL/Statements/Insert");
|
|
9
|
+
const Delete_1 = require("../SQL/Statements/Delete");
|
|
10
|
+
const Update_1 = require("../SQL/Statements/Update");
|
|
11
|
+
const Alter_1 = require("../SQL/Statements/Alter");
|
|
12
|
+
const Schema_1 = require("./Schema");
|
|
13
|
+
class MysqlDriver extends DatabaseDriver_1.DatabaseDriver {
|
|
14
|
+
constructor(connectionConfig) {
|
|
15
|
+
super();
|
|
16
|
+
this.schema = new Schema_1.Schema(this);
|
|
17
|
+
this.statements = {
|
|
18
|
+
create: Create_1.Create,
|
|
19
|
+
select: Select_1.Select,
|
|
20
|
+
insert: Insert_1.Insert,
|
|
21
|
+
delete: Delete_1.Delete,
|
|
22
|
+
update: Update_1.Update,
|
|
23
|
+
alter: Alter_1.Alter,
|
|
24
|
+
};
|
|
25
|
+
this.connection = mysql_1.createConnection({
|
|
26
|
+
connectTimeout: 30000,
|
|
27
|
+
...connectionConfig,
|
|
28
|
+
});
|
|
29
|
+
this.connection.connect();
|
|
30
|
+
}
|
|
31
|
+
async truncate(table) {
|
|
32
|
+
await this.run(`TRUNCATE TABLE ${table}`);
|
|
33
|
+
}
|
|
34
|
+
runRaw(query, params = []) {
|
|
35
|
+
return new Promise((resolve, reject) => {
|
|
36
|
+
this.connection.query(query, params, (error, results, fields) => {
|
|
37
|
+
if (error) {
|
|
38
|
+
error.message += `in SQL: "${error.sql}"`;
|
|
39
|
+
return reject(error);
|
|
40
|
+
}
|
|
41
|
+
resolve(results);
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
async run(query, params = []) {
|
|
46
|
+
await this.runRaw(query, params);
|
|
47
|
+
}
|
|
48
|
+
async get(query, params = []) {
|
|
49
|
+
return await this.runRaw(query, params);
|
|
50
|
+
}
|
|
51
|
+
async first(query, params = []) {
|
|
52
|
+
var _a;
|
|
53
|
+
return (_a = (await this.runRaw(query, params))) === null || _a === void 0 ? void 0 : _a[0];
|
|
54
|
+
}
|
|
55
|
+
async insertOne(query, params = []) {
|
|
56
|
+
return (await this.runRaw(query, params)).insertId;
|
|
57
|
+
}
|
|
58
|
+
tables() {
|
|
59
59
|
return this.get(`select TABLE_NAME as name
|
|
60
60
|
from information_schema.TABLES
|
|
61
61
|
WHERE table_schema = ?
|
|
62
|
-
`, [this.connection.config.database]);
|
|
63
|
-
}
|
|
64
|
-
tableExists(table) {
|
|
62
|
+
`, [this.connection.config.database]);
|
|
63
|
+
}
|
|
64
|
+
tableExists(table) {
|
|
65
65
|
return this.first(`select *
|
|
66
66
|
from information_schema.tables
|
|
67
67
|
where table_name = ?
|
|
68
68
|
and table_schema = ?
|
|
69
|
-
`, [table, this.connection.config.database]);
|
|
70
|
-
}
|
|
71
|
-
async tableColumns(table) {
|
|
69
|
+
`, [table, this.connection.config.database]);
|
|
70
|
+
}
|
|
71
|
+
async tableColumns(table) {
|
|
72
72
|
const columnsInfo = await this.get(`select cast(IS_NULLABLE = 'YES' as unsigned) as nullable,
|
|
73
73
|
cast(EXTRA = 'auto_increment' as unsigned) as autoIncrement,
|
|
74
74
|
cast(COLUMN_KEY = 'PRI' as unsigned) as primaryKey,
|
|
@@ -78,16 +78,16 @@ class MysqlDriver extends DatabaseDriver_1.DatabaseDriver {
|
|
|
78
78
|
from information_schema.COLUMNS
|
|
79
79
|
where table_name = ?
|
|
80
80
|
and table_schema = ?
|
|
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
|
-
}));
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
exports.MysqlDriver = MysqlDriver;
|
|
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
|
+
}));
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.MysqlDriver = MysqlDriver;
|
|
93
93
|
//# sourceMappingURL=MysqlDriver.js.map
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { ColumnField, Entity } from '../..';
|
|
2
|
-
import { Schema as BaseSchema } from '../SQL/Schema';
|
|
3
|
-
export declare class Schema extends BaseSchema {
|
|
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;
|
|
15
|
-
}
|
|
1
|
+
import { ColumnField, Entity } from '../..';
|
|
2
|
+
import { Schema as BaseSchema } from '../SQL/Schema';
|
|
3
|
+
export declare class Schema extends BaseSchema {
|
|
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;
|
|
15
|
+
}
|
|
16
16
|
//# sourceMappingURL=Schema.d.ts.map
|
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Schema = void 0;
|
|
4
|
-
const __1 = require("../..");
|
|
5
|
-
const Schema_1 = require("../SQL/Schema");
|
|
6
|
-
const Create_1 = require("./Create");
|
|
7
|
-
const _1 = require(".");
|
|
8
|
-
const Alter_1 = require("./Alter");
|
|
9
|
-
class Schema extends Schema_1.Schema {
|
|
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);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
exports.Schema = Schema;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Schema = void 0;
|
|
4
|
+
const __1 = require("../..");
|
|
5
|
+
const Schema_1 = require("../SQL/Schema");
|
|
6
|
+
const Create_1 = require("./Create");
|
|
7
|
+
const _1 = require(".");
|
|
8
|
+
const Alter_1 = require("./Alter");
|
|
9
|
+
class Schema extends Schema_1.Schema {
|
|
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);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.Schema = Schema;
|
|
66
66
|
//# sourceMappingURL=Schema.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const typesMatches: Map<any, string>;
|
|
1
|
+
export declare const typesMatches: Map<any, string>;
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.typesMatches = void 0;
|
|
4
|
-
const Entity_1 = require("../../Entity");
|
|
5
|
-
const Fields_1 = require("../../Fields");
|
|
6
|
-
// tslint:disable-next-line:no-any
|
|
7
|
-
exports.typesMatches = new Map([
|
|
8
|
-
[Entity_1.Entity, 'integer'],
|
|
9
|
-
[Fields_1.PrimaryField, `integer`],
|
|
10
|
-
[Number, 'integer'],
|
|
11
|
-
[String, 'varchar(255)'],
|
|
12
|
-
[Date, 'datetime'],
|
|
13
|
-
[Fields_1.JSONField, 'text'],
|
|
14
|
-
[Boolean, 'integer'],
|
|
15
|
-
]);
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.typesMatches = void 0;
|
|
4
|
+
const Entity_1 = require("../../Entity");
|
|
5
|
+
const Fields_1 = require("../../Fields");
|
|
6
|
+
// tslint:disable-next-line:no-any
|
|
7
|
+
exports.typesMatches = new Map([
|
|
8
|
+
[Entity_1.Entity, 'integer'],
|
|
9
|
+
[Fields_1.PrimaryField, `integer`],
|
|
10
|
+
[Number, 'integer'],
|
|
11
|
+
[String, 'varchar(255)'],
|
|
12
|
+
[Date, 'datetime'],
|
|
13
|
+
[Fields_1.JSONField, 'text'],
|
|
14
|
+
[Boolean, 'integer'],
|
|
15
|
+
]);
|
|
16
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { SchemaContract } from '../SchemaContract';
|
|
2
|
-
import { ColumnField, Entity, EntityMetadata } from '../..';
|
|
3
|
-
export declare abstract class Schema extends SchemaContract {
|
|
4
|
-
synchronize(entitiesMetadata: EntityMetadata<Entity>[]): Promise<void>;
|
|
5
|
-
protected abstract syncTableColumns(table: string, columns: ColumnField<Entity>[]): Promise<void>;
|
|
6
|
-
}
|
|
1
|
+
import { SchemaContract } from '../SchemaContract';
|
|
2
|
+
import { ColumnField, Entity, EntityMetadata } from '../..';
|
|
3
|
+
export declare abstract class Schema extends SchemaContract {
|
|
4
|
+
synchronize(entitiesMetadata: EntityMetadata<Entity>[]): Promise<void>;
|
|
5
|
+
protected abstract syncTableColumns(table: string, columns: ColumnField<Entity>[]): Promise<void>;
|
|
6
|
+
}
|
|
7
7
|
//# sourceMappingURL=Schema.d.ts.map
|
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Schema = void 0;
|
|
4
|
-
const SchemaContract_1 = require("../SchemaContract");
|
|
5
|
-
const __1 = require("../..");
|
|
6
|
-
class Schema extends SchemaContract_1.SchemaContract {
|
|
7
|
-
// async create(table: string, columns: ColumnField<Entity>[]) {
|
|
8
|
-
// const columnsSQLs = columns
|
|
9
|
-
// .filter(column => column.column)
|
|
10
|
-
// .map(columnMetadata => this.getColumnSql(columnMetadata))
|
|
11
|
-
//
|
|
12
|
-
// // @ts-ignore
|
|
13
|
-
// const createStatement = new Create({
|
|
14
|
-
// table,
|
|
15
|
-
// columns: columnsSQLs
|
|
16
|
-
// })
|
|
17
|
-
//
|
|
18
|
-
// await this.driver.run(createStatement.toSql())
|
|
19
|
-
// }
|
|
20
|
-
// async addColumn(table: string, column: ColumnField<Entity>) {
|
|
21
|
-
// await this.driver.run(`ALTER TABLE ${table}
|
|
22
|
-
// ADD ${this.getColumnSql(column)}(6)`)
|
|
23
|
-
// }
|
|
24
|
-
async synchronize(entitiesMetadata) {
|
|
25
|
-
const pivotTables = new Map();
|
|
26
|
-
for await (const metadata of entitiesMetadata) {
|
|
27
|
-
const table = metadata.table;
|
|
28
|
-
const belongsToManyFields = Object.values(metadata.inverseRelationships)
|
|
29
|
-
.filter(field => field instanceof __1.BelongsToManyField);
|
|
30
|
-
belongsToManyFields.forEach(field => {
|
|
31
|
-
const entity = __1.Entity;
|
|
32
|
-
const pivotTableColumns = [
|
|
33
|
-
// new ColumnField(entity, 'id', () => PrimaryField, 'id'),
|
|
34
|
-
...[field.getParentForeignKey(), field.getRelatedForeignKey()].sort().map(columnName => {
|
|
35
|
-
return new __1.ColumnField(entity, columnName, () => Number, columnName);
|
|
36
|
-
})
|
|
37
|
-
];
|
|
38
|
-
pivotTables.set(field.getPivotTable(), pivotTableColumns);
|
|
39
|
-
});
|
|
40
|
-
const tableInfo = await this.driver.tableExists(table);
|
|
41
|
-
if (!tableInfo) {
|
|
42
|
-
await this.create(table, Object.values({ ...metadata.columns, ...metadata.relationships }));
|
|
43
|
-
continue;
|
|
44
|
-
}
|
|
45
|
-
await this.syncTableColumns(table, Object.values({ ...metadata.columns, ...metadata.relationships }));
|
|
46
|
-
}
|
|
47
|
-
for await (const [name, columns] of pivotTables) {
|
|
48
|
-
const tableInfo = await this.driver.tableExists(name);
|
|
49
|
-
if (!tableInfo) {
|
|
50
|
-
await this.create(name, columns);
|
|
51
|
-
continue;
|
|
52
|
-
}
|
|
53
|
-
await this.syncTableColumns(name, columns);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
exports.Schema = Schema;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Schema = void 0;
|
|
4
|
+
const SchemaContract_1 = require("../SchemaContract");
|
|
5
|
+
const __1 = require("../..");
|
|
6
|
+
class Schema extends SchemaContract_1.SchemaContract {
|
|
7
|
+
// async create(table: string, columns: ColumnField<Entity>[]) {
|
|
8
|
+
// const columnsSQLs = columns
|
|
9
|
+
// .filter(column => column.column)
|
|
10
|
+
// .map(columnMetadata => this.getColumnSql(columnMetadata))
|
|
11
|
+
//
|
|
12
|
+
// // @ts-ignore
|
|
13
|
+
// const createStatement = new Create({
|
|
14
|
+
// table,
|
|
15
|
+
// columns: columnsSQLs
|
|
16
|
+
// })
|
|
17
|
+
//
|
|
18
|
+
// await this.driver.run(createStatement.toSql())
|
|
19
|
+
// }
|
|
20
|
+
// async addColumn(table: string, column: ColumnField<Entity>) {
|
|
21
|
+
// await this.driver.run(`ALTER TABLE ${table}
|
|
22
|
+
// ADD ${this.getColumnSql(column)}(6)`)
|
|
23
|
+
// }
|
|
24
|
+
async synchronize(entitiesMetadata) {
|
|
25
|
+
const pivotTables = new Map();
|
|
26
|
+
for await (const metadata of entitiesMetadata) {
|
|
27
|
+
const table = metadata.table;
|
|
28
|
+
const belongsToManyFields = Object.values(metadata.inverseRelationships)
|
|
29
|
+
.filter(field => field instanceof __1.BelongsToManyField);
|
|
30
|
+
belongsToManyFields.forEach(field => {
|
|
31
|
+
const entity = __1.Entity;
|
|
32
|
+
const pivotTableColumns = [
|
|
33
|
+
// new ColumnField(entity, 'id', () => PrimaryField, 'id'),
|
|
34
|
+
...[field.getParentForeignKey(), field.getRelatedForeignKey()].sort().map(columnName => {
|
|
35
|
+
return new __1.ColumnField(entity, columnName, () => Number, columnName);
|
|
36
|
+
})
|
|
37
|
+
];
|
|
38
|
+
pivotTables.set(field.getPivotTable(), pivotTableColumns);
|
|
39
|
+
});
|
|
40
|
+
const tableInfo = await this.driver.tableExists(table);
|
|
41
|
+
if (!tableInfo) {
|
|
42
|
+
await this.create(table, Object.values({ ...metadata.columns, ...metadata.relationships }));
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
await this.syncTableColumns(table, Object.values({ ...metadata.columns, ...metadata.relationships }));
|
|
46
|
+
}
|
|
47
|
+
for await (const [name, columns] of pivotTables) {
|
|
48
|
+
const tableInfo = await this.driver.tableExists(name);
|
|
49
|
+
if (!tableInfo) {
|
|
50
|
+
await this.create(name, columns);
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
await this.syncTableColumns(name, columns);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
exports.Schema = Schema;
|
|
58
58
|
//# sourceMappingURL=Schema.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { BaseStatement } from './BaseStatement';
|
|
2
|
-
import { ColumnField, Entity } from '../../..';
|
|
3
|
-
export declare class Alter extends BaseStatement {
|
|
4
|
-
columns: ColumnField<Entity>[];
|
|
5
|
-
getColumns(): string;
|
|
6
|
-
toSQL(): string;
|
|
7
|
-
}
|
|
1
|
+
import { BaseStatement } from './BaseStatement';
|
|
2
|
+
import { ColumnField, Entity } from '../../..';
|
|
3
|
+
export declare class Alter extends BaseStatement {
|
|
4
|
+
columns: ColumnField<Entity>[];
|
|
5
|
+
getColumns(): string;
|
|
6
|
+
toSQL(): string;
|
|
7
|
+
}
|
|
8
8
|
//# sourceMappingURL=Alter.d.ts.map
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Alter = void 0;
|
|
4
|
-
const BaseStatement_1 = require("./BaseStatement");
|
|
5
|
-
class Alter extends BaseStatement_1.BaseStatement {
|
|
6
|
-
constructor() {
|
|
7
|
-
super(...arguments);
|
|
8
|
-
this.columns = [];
|
|
9
|
-
}
|
|
10
|
-
getColumns() {
|
|
11
|
-
return '';
|
|
12
|
-
}
|
|
13
|
-
toSQL() {
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Alter = void 0;
|
|
4
|
+
const BaseStatement_1 = require("./BaseStatement");
|
|
5
|
+
class Alter extends BaseStatement_1.BaseStatement {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.columns = [];
|
|
9
|
+
}
|
|
10
|
+
getColumns() {
|
|
11
|
+
return '';
|
|
12
|
+
}
|
|
13
|
+
toSQL() {
|
|
14
14
|
return `
|
|
15
15
|
ALTER
|
|
16
16
|
TABLE
|
|
@@ -18,8 +18,8 @@ class Alter extends BaseStatement_1.BaseStatement {
|
|
|
18
18
|
(
|
|
19
19
|
${this.getColumns()}
|
|
20
20
|
)
|
|
21
|
-
`;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
exports.Alter = Alter;
|
|
21
|
+
`;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.Alter = Alter;
|
|
25
25
|
//# sourceMappingURL=Alter.js.map
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { Statement } from '../../Statement';
|
|
2
|
-
export declare abstract class BaseStatement extends Statement {
|
|
3
|
-
get table(): string;
|
|
4
|
-
get wheres(): string;
|
|
5
|
-
get limit(): string;
|
|
6
|
-
get joins(): string;
|
|
7
|
-
get groups(): string;
|
|
8
|
-
get having(): string;
|
|
9
|
-
get orders(): string;
|
|
10
|
-
abstract toSQL(): string;
|
|
11
|
-
toString(): string;
|
|
12
|
-
}
|
|
1
|
+
import { Statement } from '../../Statement';
|
|
2
|
+
export declare abstract class BaseStatement extends Statement {
|
|
3
|
+
get table(): string;
|
|
4
|
+
get wheres(): string;
|
|
5
|
+
get limit(): string;
|
|
6
|
+
get joins(): string;
|
|
7
|
+
get groups(): string;
|
|
8
|
+
get having(): string;
|
|
9
|
+
get orders(): string;
|
|
10
|
+
abstract toSQL(): string;
|
|
11
|
+
toString(): string;
|
|
12
|
+
}
|
|
13
13
|
//# sourceMappingURL=BaseStatement.d.ts.map
|