db-modeling-markdown 2.0.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/README.md +168 -164
  2. package/dist/dialects/core/dbImportProvider.d.ts +5 -5
  3. package/dist/dialects/core/dbImportProvider.js +6 -6
  4. package/dist/dialects/core/dbProvider.d.ts +34 -34
  5. package/dist/dialects/core/dbProvider.js +119 -119
  6. package/dist/dialects/core/dbProvider.js.map +1 -1
  7. package/dist/dialects/core/dbUtils.d.ts +35 -35
  8. package/dist/dialects/core/dbUtils.js +157 -158
  9. package/dist/dialects/core/dbUtils.js.map +1 -1
  10. package/dist/dialects/core/providerFactory.d.ts +7 -7
  11. package/dist/dialects/core/providerFactory.js +63 -63
  12. package/dist/dialects/core/providerFactory.js.map +1 -1
  13. package/dist/dialects/db2/db2Provider.d.ts +19 -19
  14. package/dist/dialects/db2/db2Provider.js +185 -186
  15. package/dist/dialects/db2/db2Provider.js.map +1 -1
  16. package/dist/dialects/mariadb/mariaDbImportProvider.d.ts +19 -19
  17. package/dist/dialects/mariadb/mariaDbImportProvider.js +260 -253
  18. package/dist/dialects/mariadb/mariaDbImportProvider.js.map +1 -1
  19. package/dist/dialects/mariadb/mariaDbProvider.d.ts +18 -18
  20. package/dist/dialects/mariadb/mariaDbProvider.js +152 -153
  21. package/dist/dialects/mariadb/mariaDbProvider.js.map +1 -1
  22. package/dist/dialects/mariadb/mariaDbUtil.d.ts +6 -6
  23. package/dist/dialects/mariadb/mariaDbUtil.js +22 -22
  24. package/dist/dialects/mariadb/mariaDbUtil.js.map +1 -1
  25. package/dist/dialects/mssql/msSqlProvider.d.ts +21 -21
  26. package/dist/dialects/mssql/msSqlProvider.js +264 -265
  27. package/dist/dialects/mssql/msSqlProvider.js.map +1 -1
  28. package/dist/dialects/mysql/mySqlImportProvider.d.ts +3 -3
  29. package/dist/dialects/mysql/mySqlImportProvider.js +7 -7
  30. package/dist/dialects/mysql/mySqlProvider.d.ts +3 -3
  31. package/dist/dialects/mysql/mySqlProvider.js +7 -7
  32. package/dist/dialects/oracle/oracleProvider.d.ts +35 -35
  33. package/dist/dialects/oracle/oracleProvider.js +327 -327
  34. package/dist/dialects/oracle/oracleProvider.js.map +1 -1
  35. package/dist/dialects/postgresql/postgreSqlProvider.d.ts +19 -19
  36. package/dist/dialects/postgresql/postgreSqlProvider.js +172 -173
  37. package/dist/dialects/postgresql/postgreSqlProvider.js.map +1 -1
  38. package/dist/dialects/sqlite/sqliteSqlProvider.d.ts +23 -23
  39. package/dist/dialects/sqlite/sqliteSqlProvider.js +147 -148
  40. package/dist/dialects/sqlite/sqliteSqlProvider.js.map +1 -1
  41. package/dist/index.d.ts +10 -10
  42. package/dist/index.js +9 -9
  43. package/dist/lib/code-flow/codeFlow.d.ts +37 -37
  44. package/dist/lib/code-flow/codeFlow.js +61 -61
  45. package/dist/lib/markdown-object/markdownModel.d.ts +14 -14
  46. package/dist/lib/markdown-object/markdownModel.js +12 -12
  47. package/dist/lib/markdown-object/markdownModel.js.map +1 -1
  48. package/dist/lib/markdown-object/markdownReader.d.ts +39 -39
  49. package/dist/lib/markdown-object/markdownReader.js +261 -258
  50. package/dist/lib/markdown-object/markdownReader.js.map +1 -1
  51. package/dist/lib/markdown-object/markdownWriter.d.ts +36 -36
  52. package/dist/lib/markdown-object/markdownWriter.js +224 -223
  53. package/dist/lib/markdown-object/markdownWriter.js.map +1 -1
  54. package/dist/lib/markdown-object/readerContext.d.ts +12 -12
  55. package/dist/lib/markdown-object/readerContext.js +48 -48
  56. package/dist/lib/markdown-object/readerContext.js.map +1 -1
  57. package/dist/lib/utils/fileHelper.d.ts +14 -15
  58. package/dist/lib/utils/fileHelper.js +58 -57
  59. package/dist/lib/utils/fileHelper.js.map +1 -1
  60. package/dist/lib/utils/logger.d.ts +9 -9
  61. package/dist/lib/utils/logger.js +60 -60
  62. package/dist/lib/utils/logger.js.map +1 -1
  63. package/dist/lib/utils/markdownParser.d.ts +22 -22
  64. package/dist/lib/utils/markdownParser.js +99 -95
  65. package/dist/lib/utils/markdownParser.js.map +1 -1
  66. package/dist/lib/utils/sqlHelper.d.ts +3 -3
  67. package/dist/lib/utils/sqlHelper.js +23 -23
  68. package/dist/lib/utils/sqlHelper.js.map +1 -1
  69. package/dist/lib/utils/systemHelper.d.ts +2 -2
  70. package/dist/lib/utils/systemHelper.js +6 -6
  71. package/dist/lib/utils/textFileReader.d.ts +25 -25
  72. package/dist/lib/utils/textFileReader.js +57 -57
  73. package/dist/lib/utils/textFileReader.js.map +1 -1
  74. package/dist/lib/utils/textHelper.d.ts +21 -21
  75. package/dist/lib/utils/textHelper.js +75 -71
  76. package/dist/lib/utils/textHelper.js.map +1 -1
  77. package/dist/models/databaseTypes.d.ts +33 -33
  78. package/dist/models/databaseTypes.js +37 -37
  79. package/dist/models/databaseTypes.js.map +1 -1
  80. package/dist/models/dbColumn.d.ts +43 -43
  81. package/dist/models/dbColumn.js +2 -2
  82. package/dist/models/dbDiffModel.d.ts +43 -43
  83. package/dist/models/dbDiffModel.js +2 -2
  84. package/dist/models/dbForeignKey.d.ts +33 -33
  85. package/dist/models/dbForeignKey.js +2 -2
  86. package/dist/models/dbIndex.d.ts +28 -28
  87. package/dist/models/dbIndex.js +2 -2
  88. package/dist/models/dbIndexType.d.ts +8 -8
  89. package/dist/models/dbIndexType.js +12 -12
  90. package/dist/models/dbIndexType.js.map +1 -1
  91. package/dist/models/dbModel.d.ts +10 -10
  92. package/dist/models/dbModel.js +2 -2
  93. package/dist/models/dbPrimaryKey.d.ts +16 -16
  94. package/dist/models/dbPrimaryKey.js +2 -2
  95. package/dist/models/dbTable.d.ts +49 -49
  96. package/dist/models/dbTable.js +2 -2
  97. package/dist/models/dbTableMarkdown.d.ts +35 -34
  98. package/dist/models/dbTableMarkdown.js +2 -2
  99. package/dist/resources/mariadb/procAppUpgradeDB.sql +164 -0
  100. package/dist/resources/mariadb/sql-create-table-fk.njk +10 -0
  101. package/dist/resources/mariadb/sql-create-table.njk +12 -0
  102. package/dist/resources/mariadb/sql-create-tables.njk +9 -0
  103. package/dist/resources/mariadb/sql-drop-tables.njk +10 -0
  104. package/dist/resources/mariadb/sql-drop-then-create-tables.njk +4 -0
  105. package/dist/resources/mariadb/sql-upgrade-new-table.njk +15 -0
  106. package/dist/resources/mariadb/sql-upgrade-table-fk.njk +10 -0
  107. package/dist/resources/mariadb/sql-upgrade-table.njk +41 -0
  108. package/dist/resources/mariadb/sql-upgrade-tables.njk +19 -0
  109. package/dist/services/dbOptions.d.ts +35 -35
  110. package/dist/services/dbOptions.js +17 -17
  111. package/dist/services/dbmOptions.d.ts +28 -28
  112. package/dist/services/dbmOptions.js +34 -34
  113. package/dist/services/dbmService.d.ts +87 -87
  114. package/dist/services/dbmService.js +244 -246
  115. package/dist/services/dbmService.js.map +1 -1
  116. package/package.json +29 -34
  117. package/CHANGELOG.md +0 -81
  118. package/CONTRIBUTING.md +0 -82
package/README.md CHANGED
@@ -1,164 +1,168 @@
1
- # db-modeling-markdown README
2
-
3
- Now, you may define your database tables in markdown files, and this utility will use them to generate .sql files.
4
-
5
- - [API Doc](http://sn-yang.gitee.io/db-modeling-markdown/)
6
-
7
- ## Release Notes
8
-
9
- ### 2.0.1
10
-
11
- [Change Log](./CHANGELOG.md)
12
-
13
- ## Samples
14
-
15
- Define a markdown file(.db.md) like:
16
-
17
- ```markdown
18
- # Table: departments
19
-
20
- ## `Table`
21
-
22
- | `Name` | `Comment` | `Character Set` | `Collation` |
23
- | ----------- | --------------------- | --------------- | ------------------ |
24
- | departments | The department table. | utf8mb4 | utf8mb4_general_ci |
25
-
26
- ## `Primary Key`
27
-
28
- | `Columns` |
29
- | ------------ |
30
- | DepartmentID |
31
-
32
- ## `Indexes`
33
-
34
- ## `Foreign Keys`
35
-
36
- | `Columns` | `Ref Table` | `Ref Columns` | `Options` |
37
- | --------- | ----------- | ------------- | --------- |
38
- | ManagerID | employees | EmployeeID | |
39
- | ParentID | departments | DepartmentID | |
40
-
41
- ## `Columns`
42
-
43
- | `Label` | `Name` | `Type` | `Nullable` | `Default` | `Comment` |
44
- | --------------- | -------------- | -------------------------------------- | ---------- | ------------------- | -------------------- |
45
- | Department ID | DepartmentID | int auto_increment | `No` | | Department ID |
46
- | Department Name | DepartmentName | varchar(50) | `No` | | Department Name |
47
- | Parent ID | ParentID | int | `Yes` | | Parent Department |
48
- | Manager ID | ManagerID | int | `Yes` | | Manager |
49
- | Created By | CreatedBy | varchar(255) | `No` | '' | Created By User Name |
50
- | Create Time | CreateTime | datetime | `No` | current_timestamp() | Created Time |
51
- | Update By | UpdateBy | varchar(255) | `No` | '' | Updated By User Name |
52
- | Update Time | UpdateTime | datetime on update current_timestamp() | `No` | current_timestamp() | Updated Time |
53
- ```
54
-
55
- You will get SQL scripts:
56
-
57
- ```sql
58
- -- Create table 'departments'
59
- CREATE TABLE `departments` (
60
- `DepartmentID` int auto_increment NOT NULL COMMENT 'Department ID'
61
- , `DepartmentName` varchar(50) NOT NULL COMMENT 'Department Name'
62
- , `ParentID` int COMMENT 'Parent Department'
63
- , `ManagerID` int COMMENT 'Manager'
64
- , `CreatedBy` varchar(255) NOT NULL DEFAULT '' COMMENT 'Created By User Name'
65
- , `CreateTime` datetime NOT NULL DEFAULT current_timestamp() COMMENT 'Created Time'
66
- , `UpdateBy` varchar(255) NOT NULL DEFAULT '' COMMENT 'Updated By User Name'
67
- , `UpdateTime` datetime on update current_timestamp() NOT NULL DEFAULT current_timestamp() COMMENT 'Updated Time'
68
- , PRIMARY KEY (DepartmentID)
69
- ) COMMENT='The department table.'
70
- ;
71
- ```
72
-
73
- ## Sample Code
74
-
75
- ```typescript
76
- import * as path from 'path'
77
-
78
- import { DatabaseTypes, DbmOptions, DbmService } from '../src'
79
-
80
- const options: DbmOptions = new DbmOptions()
81
- options.database = DatabaseTypes.mariadb
82
-
83
- // Generate database modeling markdown files (.db.md) from a database
84
- options.sourceFolder = path.join(__dirname, `../../temp/tables/v1`)
85
- await DbmService.fromDatabase(
86
- {
87
- databaseType: options.database,
88
- host: '127.0.0.1',
89
- port: 3306,
90
- user: 'root',
91
- password: 'password',
92
- database: 'my-db',
93
- },
94
- options.sourceFolder,
95
- true,
96
- )
97
-
98
- // Read table definition markdow files(.db.md), and produce a sql file with create-table-if-not-exists scripts
99
- options.sourceFolder = path.join(__dirname, '../tests/data/mariadb/tables')
100
- options.targetPath = path.join(__dirname, '../temp/createTableIf.sql')
101
- DbmService.toCreateTableIfNotExistsSql(options)
102
-
103
- // Read table definition markdow files(.db.md), and produce a sql file with create-table scripts
104
- options.targetPath = path.join(__dirname, '../temp/createTable.sql')
105
- DbmService.toCreateTableSql(options)
106
-
107
- // Read table definition markdow files(.db.md), and produce a sql file with drop-table scripts
108
- options.targetPath = path.join(__dirname, '../temp/dropTable.sql')
109
- DbmService.toDropTableSql(options)
110
-
111
- // Read table definition markdow files(.db.md), and produce a sql file with drop-then-create-table scripts
112
- options.targetPath = path.join(__dirname, '../temp/dropThenCreateTable.sql')
113
- DbmService.toDropThenCreateTableSql(options)
114
-
115
- // Read table definition markdow files(.db.md), and produce a sql file with upgrade scripts
116
- options.previousVersionFolder = path.join(__dirname, `../tests/data/mariadb/tables/v1`)
117
- options.targetPath = path.join(__dirname, '../temp/upgrade.sql')
118
- DbmService.toUpgradeSql(options)
119
-
120
- // Read table definition markdow files(.db.md), and produce a json file
121
- options.targetPath = path.join(__dirname, '../temp/model.json')
122
- DbmService.toJson(options)
123
-
124
- // Read table definition markdow files(.db.md), and produce a model object
125
- options.targetPath = ''
126
- const model = DbmService.toModel(options)
127
- // eslint-disable-next-line no-console
128
- console.log(JSON.stringify(model, null, 2))
129
-
130
- // Generate database modeling markdown files (.db.md) from a model
131
- DbmService.toMarkdown(model, path.join(__dirname, '../temp/tables'), true)
132
-
133
- // Generate index.md from a model
134
- DbmService.genIndexFile(model, options.sourceFolder)
135
- ```
136
-
137
- ## Features
138
-
139
- - Support Databases
140
-
141
- - DB2
142
- - MariaDB
143
- - MS SQL Server
144
- - MySQL
145
- - Oracle Database
146
- - PostgreSQL
147
- - SQLite
148
-
149
- - Support generate SQL scripts of create tables.
150
- - Support generate SQL scripts of create tables if not exists.
151
- - Support generate SQL scripts of drop then create tables.
152
- - Support generate SQL scripts of drop tables.
153
- - Support generate SQL scripts of upgrade a database (mariadb/mysql only).
154
- - Support generate database definition markdown files from a database (mariadb/mysql only).
155
- - Support generate a json file of the database model.
156
- - Support generate an model object of the database model.
157
- - Support generate database definition markdown files from a database model (json).
158
- - Support generate `index.md` for a database model.
159
-
160
- ## Contributing
161
-
162
- Please see [Contributing](./CONTRIBUTING.md)
163
-
164
- **Enjoy!**
1
+ # db-modeling-markdown README
2
+
3
+ Now, you may define your database tables in markdown files, and this utility will use them to generate .sql files.
4
+
5
+ - [API Doc](http://sn-yang.gitee.io/db-modeling-markdown/)
6
+
7
+ ## Release Notes
8
+
9
+ ### 2.1.0
10
+
11
+ [Change Log](./CHANGELOG.md)
12
+
13
+ ### 2.0.2
14
+
15
+ [Change Log](./CHANGELOG.md)
16
+
17
+ ## Samples
18
+
19
+ Define a markdown file(.db.md) like:
20
+
21
+ ```markdown
22
+ # Table: departments
23
+
24
+ ## `Table`
25
+
26
+ | `Name` | `Comment` | `Character Set` | `Collation` | `Engine` |
27
+ | ----------- | --------------------- | --------------- | ------------------ | -------- |
28
+ | departments | The department table. | utf8mb4 | utf8mb4_general_ci | InnoDB |
29
+
30
+ ## `Primary Key`
31
+
32
+ | `Columns` |
33
+ | ------------ |
34
+ | DepartmentID |
35
+
36
+ ## `Indexes`
37
+
38
+ ## `Foreign Keys`
39
+
40
+ | `Columns` | `Ref Table` | `Ref Columns` | `Options` |
41
+ | --------- | ----------- | ------------- | --------- |
42
+ | ManagerID | employees | EmployeeID | |
43
+ | ParentID | departments | DepartmentID | |
44
+
45
+ ## `Columns`
46
+
47
+ | `Label` | `Name` | `Type` | `Nullable` | `Default` | `Comment` |
48
+ | --------------- | -------------- | -------------------------------------- | ---------- | ------------------- | -------------------- |
49
+ | Department ID | DepartmentID | int auto_increment | `No` | | Department ID |
50
+ | Department Name | DepartmentName | varchar(50) | `No` | | Department Name |
51
+ | Parent ID | ParentID | int | `Yes` | | Parent Department |
52
+ | Manager ID | ManagerID | int | `Yes` | | Manager |
53
+ | Created By | CreatedBy | varchar(255) | `No` | '' | Created By User Name |
54
+ | Create Time | CreateTime | datetime | `No` | current_timestamp() | Created Time |
55
+ | Update By | UpdateBy | varchar(255) | `No` | '' | Updated By User Name |
56
+ | Update Time | UpdateTime | datetime on update current_timestamp() | `No` | current_timestamp() | Updated Time |
57
+ ```
58
+
59
+ You will get SQL scripts:
60
+
61
+ ```sql
62
+ -- Create table 'departments'
63
+ CREATE TABLE `departments` (
64
+ `DepartmentID` int auto_increment NOT NULL COMMENT 'Department ID'
65
+ , `DepartmentName` varchar(50) NOT NULL COMMENT 'Department Name'
66
+ , `ParentID` int COMMENT 'Parent Department'
67
+ , `ManagerID` int COMMENT 'Manager'
68
+ , `CreatedBy` varchar(255) NOT NULL DEFAULT '' COMMENT 'Created By User Name'
69
+ , `CreateTime` datetime NOT NULL DEFAULT current_timestamp() COMMENT 'Created Time'
70
+ , `UpdateBy` varchar(255) NOT NULL DEFAULT '' COMMENT 'Updated By User Name'
71
+ , `UpdateTime` datetime on update current_timestamp() NOT NULL DEFAULT current_timestamp() COMMENT 'Updated Time'
72
+ , PRIMARY KEY (DepartmentID)
73
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='The department table.'
74
+ ;
75
+ ```
76
+
77
+ ## Sample Code
78
+
79
+ ```typescript
80
+ import * as path from 'path'
81
+
82
+ import { DatabaseTypes, DbmOptions, DbmService } from '../src'
83
+
84
+ const options: DbmOptions = new DbmOptions()
85
+ options.database = DatabaseTypes.mariadb
86
+
87
+ // Generate database modeling markdown files (.db.md) from a database
88
+ options.sourceFolder = path.join(__dirname, `../../temp/tables/v1`)
89
+ await DbmService.fromDatabase(
90
+ {
91
+ databaseType: options.database,
92
+ host: '127.0.0.1',
93
+ port: 3306,
94
+ user: 'root',
95
+ password: 'password',
96
+ database: 'my-db',
97
+ },
98
+ options.sourceFolder,
99
+ true,
100
+ )
101
+
102
+ // Read table definition markdow files(.db.md), and produce a sql file with create-table-if-not-exists scripts
103
+ options.sourceFolder = path.join(__dirname, '../tests/data/mariadb/tables')
104
+ options.targetPath = path.join(__dirname, '../temp/createTableIf.sql')
105
+ DbmService.toCreateTableIfNotExistsSql(options)
106
+
107
+ // Read table definition markdow files(.db.md), and produce a sql file with create-table scripts
108
+ options.targetPath = path.join(__dirname, '../temp/createTable.sql')
109
+ DbmService.toCreateTableSql(options)
110
+
111
+ // Read table definition markdow files(.db.md), and produce a sql file with drop-table scripts
112
+ options.targetPath = path.join(__dirname, '../temp/dropTable.sql')
113
+ DbmService.toDropTableSql(options)
114
+
115
+ // Read table definition markdow files(.db.md), and produce a sql file with drop-then-create-table scripts
116
+ options.targetPath = path.join(__dirname, '../temp/dropThenCreateTable.sql')
117
+ DbmService.toDropThenCreateTableSql(options)
118
+
119
+ // Read table definition markdow files(.db.md), and produce a sql file with upgrade scripts
120
+ options.previousVersionFolder = path.join(__dirname, `../tests/data/mariadb/tables/v1`)
121
+ options.targetPath = path.join(__dirname, '../temp/upgrade.sql')
122
+ DbmService.toUpgradeSql(options)
123
+
124
+ // Read table definition markdow files(.db.md), and produce a json file
125
+ options.targetPath = path.join(__dirname, '../temp/model.json')
126
+ DbmService.toJson(options)
127
+
128
+ // Read table definition markdow files(.db.md), and produce a model object
129
+ options.targetPath = ''
130
+ const model = DbmService.toModel(options)
131
+ // eslint-disable-next-line no-console
132
+ console.log(JSON.stringify(model, null, 2))
133
+
134
+ // Generate database modeling markdown files (.db.md) from a model
135
+ DbmService.toMarkdown(model, path.join(__dirname, '../temp/tables'), true)
136
+
137
+ // Generate index.md from a model
138
+ DbmService.genIndexFile(model, options.sourceFolder)
139
+ ```
140
+
141
+ ## Features
142
+
143
+ - Support Databases
144
+
145
+ - DB2
146
+ - MariaDB
147
+ - MS SQL Server
148
+ - MySQL
149
+ - Oracle Database
150
+ - PostgreSQL
151
+ - SQLite
152
+
153
+ - Support generate SQL scripts of create tables.
154
+ - Support generate SQL scripts of create tables if not exists.
155
+ - Support generate SQL scripts of drop then create tables.
156
+ - Support generate SQL scripts of drop tables.
157
+ - Support generate SQL scripts of upgrade a database (mariadb/mysql only).
158
+ - Support generate database definition markdown files from a database (mariadb/mysql only).
159
+ - Support generate a json file of the database model.
160
+ - Support generate an model object of the database model.
161
+ - Support generate database definition markdown files from a database model (json).
162
+ - Support generate `index.md` for a database model.
163
+
164
+ ## Contributing
165
+
166
+ Please see [Contributing](./CONTRIBUTING.md)
167
+
168
+ **Enjoy!**
@@ -1,5 +1,5 @@
1
- import { DbModel } from '../../models/dbModel';
2
- import { DbOptions } from '../../services/dbOptions';
3
- export declare abstract class DbImportProvider {
4
- abstract getModel(dbOptions: DbOptions): Promise<DbModel>;
5
- }
1
+ import { DbModel } from '../../models/dbModel';
2
+ import { DbOptions } from '../../services/dbOptions';
3
+ export declare abstract class DbImportProvider {
4
+ abstract getModel(dbOptions: DbOptions): Promise<DbModel>;
5
+ }
@@ -1,7 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DbImportProvider = void 0;
4
- class DbImportProvider {
5
- }
6
- exports.DbImportProvider = DbImportProvider;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DbImportProvider = void 0;
4
+ class DbImportProvider {
5
+ }
6
+ exports.DbImportProvider = DbImportProvider;
7
7
  //# sourceMappingURL=dbImportProvider.js.map
@@ -1,34 +1,34 @@
1
- import { DbColumn } from '../../models/dbColumn';
2
- import { DbForeignKey } from '../../models/dbForeignKey';
3
- import { DbIndex } from '../../models/dbIndex';
4
- import { DbModel } from '../../models/dbModel';
5
- import { DbTable } from '../../models/dbTable';
6
- export declare const line: string;
7
- export declare const indent: string;
8
- export declare abstract class DbProvider {
9
- private outputs;
10
- getColumnComment(column: DbColumn): string;
11
- abstract getCreateTableIfNotExistsSql(model: DbModel, withComment: boolean): string;
12
- abstract getCreateTableSql(model: DbModel, withComment: boolean): string;
13
- abstract getDropTableSql(model: DbModel, withComment: boolean): string;
14
- abstract getDropThenCreateTableSql(model: DbModel, withComment: boolean): string;
15
- getUpgradeSql(fromModel: DbModel, model: DbModel, withComment: boolean): string;
16
- private getOutput;
17
- outputCopy(): string;
18
- outputInitialize(): void;
19
- outputln(text: string, outputId?: number): void;
20
- outputlnln(text: string, outputId?: number): void;
21
- renderDefaultName(table: DbTable, column: DbColumn): string;
22
- renderFkName(table: DbTable, foreignKey: DbForeignKey): string;
23
- renderFkName2(tableName: string, foreignKey: DbForeignKey): string;
24
- renderIndexName(table: DbTable, index: DbIndex): string;
25
- renderIndexName2(tableName: string, index: DbIndex): string;
26
- renderPkName(table: DbTable): string;
27
- renderTableName(name: string): string;
28
- /**
29
- * make sure the length of the name is <= 64
30
- * @param name the key name
31
- */
32
- private renderName;
33
- stripBrackets(value: string, stripAll?: boolean): string;
34
- }
1
+ import { DbColumn } from '../../models/dbColumn';
2
+ import { DbForeignKey } from '../../models/dbForeignKey';
3
+ import { DbIndex } from '../../models/dbIndex';
4
+ import { DbModel } from '../../models/dbModel';
5
+ import { DbTable } from '../../models/dbTable';
6
+ export declare const line: string;
7
+ export declare const indent: string;
8
+ export declare abstract class DbProvider {
9
+ private outputs;
10
+ getColumnComment(column: DbColumn): string;
11
+ abstract getCreateTableIfNotExistsSql(model: DbModel, withComment: boolean): string;
12
+ abstract getCreateTableSql(model: DbModel, withComment: boolean): string;
13
+ abstract getDropTableSql(model: DbModel, withComment: boolean): string;
14
+ abstract getDropThenCreateTableSql(model: DbModel, withComment: boolean): string;
15
+ getUpgradeSql(fromModel: DbModel, model: DbModel, withComment: boolean): string;
16
+ private getOutput;
17
+ outputCopy(): string;
18
+ outputInitialize(): void;
19
+ outputln(text: string, outputId?: number): void;
20
+ outputlnln(text: string, outputId?: number): void;
21
+ renderDefaultName(table: DbTable, column: DbColumn): string;
22
+ renderFkName(table: DbTable, foreignKey: DbForeignKey): string;
23
+ renderFkName2(tableName: string, foreignKey: DbForeignKey): string;
24
+ renderIndexName(table: DbTable, index: DbIndex): string;
25
+ renderIndexName2(tableName: string, index: DbIndex): string;
26
+ renderPkName(table: DbTable): string;
27
+ renderTableName(name: string): string;
28
+ /**
29
+ * make sure the length of the name is <= 64
30
+ * @param name the key name
31
+ */
32
+ private renderName;
33
+ stripBrackets(value: string, stripAll?: boolean): string;
34
+ }