db-modeling-markdown 2.0.2 → 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.
- package/README.md +168 -164
- package/dist/dialects/core/dbImportProvider.d.ts +5 -5
- package/dist/dialects/core/dbImportProvider.js +6 -6
- package/dist/dialects/core/dbProvider.d.ts +34 -34
- package/dist/dialects/core/dbProvider.js +119 -119
- package/dist/dialects/core/dbProvider.js.map +1 -1
- package/dist/dialects/core/dbUtils.d.ts +35 -35
- package/dist/dialects/core/dbUtils.js +157 -158
- package/dist/dialects/core/dbUtils.js.map +1 -1
- package/dist/dialects/core/providerFactory.d.ts +7 -7
- package/dist/dialects/core/providerFactory.js +63 -63
- package/dist/dialects/core/providerFactory.js.map +1 -1
- package/dist/dialects/db2/db2Provider.d.ts +19 -19
- package/dist/dialects/db2/db2Provider.js +185 -186
- package/dist/dialects/db2/db2Provider.js.map +1 -1
- package/dist/dialects/mariadb/mariaDbImportProvider.d.ts +19 -19
- package/dist/dialects/mariadb/mariaDbImportProvider.js +260 -260
- package/dist/dialects/mariadb/mariaDbImportProvider.js.map +1 -1
- package/dist/dialects/mariadb/mariaDbProvider.d.ts +18 -18
- package/dist/dialects/mariadb/mariaDbProvider.js +152 -153
- package/dist/dialects/mariadb/mariaDbProvider.js.map +1 -1
- package/dist/dialects/mariadb/mariaDbUtil.d.ts +6 -6
- package/dist/dialects/mariadb/mariaDbUtil.js +22 -22
- package/dist/dialects/mariadb/mariaDbUtil.js.map +1 -1
- package/dist/dialects/mssql/msSqlProvider.d.ts +21 -21
- package/dist/dialects/mssql/msSqlProvider.js +264 -265
- package/dist/dialects/mssql/msSqlProvider.js.map +1 -1
- package/dist/dialects/mysql/mySqlImportProvider.d.ts +3 -3
- package/dist/dialects/mysql/mySqlImportProvider.js +7 -7
- package/dist/dialects/mysql/mySqlProvider.d.ts +3 -3
- package/dist/dialects/mysql/mySqlProvider.js +7 -7
- package/dist/dialects/oracle/oracleProvider.d.ts +35 -35
- package/dist/dialects/oracle/oracleProvider.js +327 -327
- package/dist/dialects/oracle/oracleProvider.js.map +1 -1
- package/dist/dialects/postgresql/postgreSqlProvider.d.ts +19 -19
- package/dist/dialects/postgresql/postgreSqlProvider.js +172 -173
- package/dist/dialects/postgresql/postgreSqlProvider.js.map +1 -1
- package/dist/dialects/sqlite/sqliteSqlProvider.d.ts +23 -23
- package/dist/dialects/sqlite/sqliteSqlProvider.js +147 -148
- package/dist/dialects/sqlite/sqliteSqlProvider.js.map +1 -1
- package/dist/index.d.ts +10 -10
- package/dist/index.js +9 -9
- package/dist/lib/code-flow/codeFlow.d.ts +37 -37
- package/dist/lib/code-flow/codeFlow.js +61 -61
- package/dist/lib/markdown-object/markdownModel.d.ts +14 -14
- package/dist/lib/markdown-object/markdownModel.js +12 -12
- package/dist/lib/markdown-object/markdownModel.js.map +1 -1
- package/dist/lib/markdown-object/markdownReader.d.ts +39 -39
- package/dist/lib/markdown-object/markdownReader.js +261 -261
- package/dist/lib/markdown-object/markdownReader.js.map +1 -1
- package/dist/lib/markdown-object/markdownWriter.d.ts +36 -36
- package/dist/lib/markdown-object/markdownWriter.js +224 -224
- package/dist/lib/markdown-object/markdownWriter.js.map +1 -1
- package/dist/lib/markdown-object/readerContext.d.ts +12 -12
- package/dist/lib/markdown-object/readerContext.js +48 -48
- package/dist/lib/markdown-object/readerContext.js.map +1 -1
- package/dist/lib/utils/fileHelper.d.ts +14 -15
- package/dist/lib/utils/fileHelper.js +58 -57
- package/dist/lib/utils/fileHelper.js.map +1 -1
- package/dist/lib/utils/logger.d.ts +9 -9
- package/dist/lib/utils/logger.js +60 -60
- package/dist/lib/utils/logger.js.map +1 -1
- package/dist/lib/utils/markdownParser.d.ts +22 -22
- package/dist/lib/utils/markdownParser.js +99 -95
- package/dist/lib/utils/markdownParser.js.map +1 -1
- package/dist/lib/utils/sqlHelper.d.ts +3 -3
- package/dist/lib/utils/sqlHelper.js +23 -23
- package/dist/lib/utils/sqlHelper.js.map +1 -1
- package/dist/lib/utils/systemHelper.d.ts +2 -2
- package/dist/lib/utils/systemHelper.js +6 -6
- package/dist/lib/utils/textFileReader.d.ts +25 -25
- package/dist/lib/utils/textFileReader.js +57 -57
- package/dist/lib/utils/textFileReader.js.map +1 -1
- package/dist/lib/utils/textHelper.d.ts +21 -21
- package/dist/lib/utils/textHelper.js +75 -71
- package/dist/lib/utils/textHelper.js.map +1 -1
- package/dist/models/databaseTypes.d.ts +33 -33
- package/dist/models/databaseTypes.js +37 -37
- package/dist/models/databaseTypes.js.map +1 -1
- package/dist/models/dbColumn.d.ts +43 -43
- package/dist/models/dbColumn.js +2 -2
- package/dist/models/dbDiffModel.d.ts +43 -43
- package/dist/models/dbDiffModel.js +2 -2
- package/dist/models/dbForeignKey.d.ts +33 -33
- package/dist/models/dbForeignKey.js +2 -2
- package/dist/models/dbIndex.d.ts +28 -28
- package/dist/models/dbIndex.js +2 -2
- package/dist/models/dbIndexType.d.ts +8 -8
- package/dist/models/dbIndexType.js +12 -12
- package/dist/models/dbIndexType.js.map +1 -1
- package/dist/models/dbModel.d.ts +10 -10
- package/dist/models/dbModel.js +2 -2
- package/dist/models/dbPrimaryKey.d.ts +16 -16
- package/dist/models/dbPrimaryKey.js +2 -2
- package/dist/models/dbTable.d.ts +49 -49
- package/dist/models/dbTable.js +2 -2
- package/dist/models/dbTableMarkdown.d.ts +35 -35
- package/dist/models/dbTableMarkdown.js +2 -2
- package/dist/resources/mariadb/procAppUpgradeDB.sql +164 -164
- package/dist/resources/mariadb/sql-create-table-fk.njk +10 -10
- package/dist/resources/mariadb/sql-create-table.njk +11 -11
- package/dist/resources/mariadb/sql-create-tables.njk +8 -8
- package/dist/resources/mariadb/sql-upgrade-new-table.njk +14 -14
- package/dist/services/dbOptions.d.ts +35 -35
- package/dist/services/dbOptions.js +17 -17
- package/dist/services/dbmOptions.d.ts +28 -28
- package/dist/services/dbmOptions.js +34 -34
- package/dist/services/dbmService.d.ts +87 -87
- package/dist/services/dbmService.js +244 -244
- package/dist/services/dbmService.js.map +1 -1
- package/package.json +28 -34
- package/CHANGELOG.md +0 -81
- package/CONTRIBUTING.md +0 -85
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
|
|
10
|
-
|
|
11
|
-
[Change Log](./CHANGELOG.md)
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
|
48
|
-
|
|
|
49
|
-
|
|
|
50
|
-
|
|
|
51
|
-
|
|
|
52
|
-
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
, `
|
|
66
|
-
, `
|
|
67
|
-
, `
|
|
68
|
-
,
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
options
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
options.targetPath = path.join(__dirname, '../temp/
|
|
105
|
-
DbmService.
|
|
106
|
-
|
|
107
|
-
// Read table definition markdow files(.db.md), and produce a sql file with
|
|
108
|
-
options.targetPath = path.join(__dirname, '../temp/
|
|
109
|
-
DbmService.
|
|
110
|
-
|
|
111
|
-
// Read table definition markdow files(.db.md), and produce a sql file with drop-
|
|
112
|
-
options.targetPath = path.join(__dirname, '../temp/
|
|
113
|
-
DbmService.
|
|
114
|
-
|
|
115
|
-
// Read table definition markdow files(.db.md), and produce a sql file with
|
|
116
|
-
options.
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
options.targetPath = path.join(__dirname, '../temp/
|
|
122
|
-
DbmService.
|
|
123
|
-
|
|
124
|
-
// Read table definition markdow files(.db.md), and produce a
|
|
125
|
-
options.targetPath = ''
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
-
|
|
146
|
-
-
|
|
147
|
-
-
|
|
148
|
-
|
|
149
|
-
-
|
|
150
|
-
-
|
|
151
|
-
-
|
|
152
|
-
|
|
153
|
-
- Support generate SQL scripts of
|
|
154
|
-
- Support generate
|
|
155
|
-
- Support generate
|
|
156
|
-
- Support generate
|
|
157
|
-
- Support generate
|
|
158
|
-
- Support generate
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
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
|
+
}
|