db-modeling-markdown 1.0.5 → 2.0.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/CHANGELOG.md +24 -3
- package/CONTRIBUTING.md +78 -0
- package/README.md +63 -46
- package/dist/dialects/core/dbImportProvider.d.ts +5 -0
- package/dist/dialects/core/dbImportProvider.js +7 -0
- package/dist/dialects/core/dbImportProvider.js.map +1 -0
- package/dist/dialects/core/dbProvider.d.ts +19 -6
- package/dist/dialects/core/dbProvider.js +40 -6
- package/dist/dialects/core/dbProvider.js.map +1 -1
- package/dist/dialects/core/dbUtils.d.ts +35 -0
- package/dist/dialects/core/dbUtils.js +159 -0
- package/dist/dialects/core/dbUtils.js.map +1 -0
- package/dist/dialects/core/providerFactory.d.ts +3 -1
- package/dist/dialects/core/providerFactory.js +28 -3
- package/dist/dialects/core/providerFactory.js.map +1 -1
- package/dist/dialects/db2/db2Provider.d.ts +2 -1
- package/dist/dialects/db2/db2Provider.js +75 -46
- package/dist/dialects/db2/db2Provider.js.map +1 -1
- package/dist/dialects/mariadb/mariaDbImportProvider.d.ts +19 -0
- package/dist/dialects/mariadb/mariaDbImportProvider.js +254 -0
- package/dist/dialects/mariadb/mariaDbImportProvider.js.map +1 -0
- package/dist/dialects/mariadb/mariaDbProvider.d.ts +11 -11
- package/dist/dialects/mariadb/mariaDbProvider.js +128 -161
- package/dist/dialects/mariadb/mariaDbProvider.js.map +1 -1
- package/dist/dialects/mariadb/mariaDbUtil.d.ts +6 -0
- package/dist/dialects/mariadb/mariaDbUtil.js +23 -0
- package/dist/dialects/mariadb/mariaDbUtil.js.map +1 -0
- package/dist/dialects/mssql/msSqlProvider.d.ts +2 -1
- package/dist/dialects/mssql/msSqlProvider.js +128 -73
- package/dist/dialects/mssql/msSqlProvider.js.map +1 -1
- package/dist/dialects/mysql/mySqlImportProvider.d.ts +3 -0
- package/dist/dialects/mysql/mySqlImportProvider.js +8 -0
- package/dist/dialects/mysql/mySqlImportProvider.js.map +1 -0
- package/dist/dialects/mysql/mySqlProvider.d.ts +2 -20
- package/dist/dialects/mysql/mySqlProvider.js +2 -182
- package/dist/dialects/mysql/mySqlProvider.js.map +1 -1
- package/dist/dialects/oracle/oracleProvider.d.ts +5 -1
- package/dist/dialects/oracle/oracleProvider.js +111 -70
- package/dist/dialects/oracle/oracleProvider.js.map +1 -1
- package/dist/dialects/postgresql/postgreSqlProvider.d.ts +2 -1
- package/dist/dialects/postgresql/postgreSqlProvider.js +34 -31
- package/dist/dialects/postgresql/postgreSqlProvider.js.map +1 -1
- package/dist/dialects/sqlite/sqliteSqlProvider.d.ts +2 -1
- package/dist/dialects/sqlite/sqliteSqlProvider.js +38 -28
- package/dist/dialects/sqlite/sqliteSqlProvider.js.map +1 -1
- package/dist/index.d.ts +9 -4
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/lib/code-flow/codeFlow.js.map +1 -1
- package/dist/lib/markdown-object/markdownModel.d.ts +0 -4
- package/dist/lib/markdown-object/markdownModel.js +0 -4
- package/dist/lib/markdown-object/markdownModel.js.map +1 -1
- package/dist/lib/markdown-object/markdownReader.d.ts +19 -0
- package/dist/lib/markdown-object/markdownReader.js +85 -28
- package/dist/lib/markdown-object/markdownReader.js.map +1 -1
- package/dist/lib/markdown-object/markdownWriter.d.ts +25 -1
- package/dist/lib/markdown-object/markdownWriter.js +117 -52
- package/dist/lib/markdown-object/markdownWriter.js.map +1 -1
- package/dist/lib/markdown-object/readerContext.js +3 -1
- package/dist/lib/markdown-object/readerContext.js.map +1 -1
- package/dist/lib/utils/fileHelper.d.ts +4 -0
- package/dist/lib/utils/fileHelper.js +20 -1
- package/dist/lib/utils/fileHelper.js.map +1 -1
- package/dist/lib/utils/logger.js.map +1 -1
- package/dist/lib/utils/markdownParser.js +3 -6
- package/dist/lib/utils/markdownParser.js.map +1 -1
- package/dist/lib/utils/sqlHelper.js.map +1 -1
- package/dist/lib/utils/textFileReader.js +2 -2
- package/dist/lib/utils/textFileReader.js.map +1 -1
- package/dist/lib/utils/textHelper.d.ts +18 -0
- package/dist/lib/utils/textHelper.js +62 -0
- package/dist/lib/utils/textHelper.js.map +1 -1
- package/dist/{services → models}/databaseTypes.d.ts +0 -0
- package/dist/{services → models}/databaseTypes.js +0 -0
- package/dist/models/databaseTypes.js.map +1 -0
- package/dist/models/dbColumn.d.ts +43 -0
- package/dist/models/dbColumn.js +3 -0
- package/dist/models/dbColumn.js.map +1 -0
- package/dist/models/dbDiffModel.d.ts +43 -0
- package/dist/models/dbDiffModel.js +3 -0
- package/dist/models/dbDiffModel.js.map +1 -0
- package/dist/models/dbForeignKey.d.ts +33 -0
- package/dist/models/dbForeignKey.js +3 -0
- package/dist/models/dbForeignKey.js.map +1 -0
- package/dist/models/dbIndex.d.ts +28 -0
- package/dist/models/dbIndex.js +3 -0
- package/dist/models/dbIndex.js.map +1 -0
- package/dist/models/dbIndexType.d.ts +8 -0
- package/dist/models/dbIndexType.js +13 -0
- package/dist/models/dbIndexType.js.map +1 -0
- package/dist/models/dbModel.d.ts +10 -0
- package/dist/{services → models}/dbModel.js +0 -0
- package/dist/{services → models}/dbModel.js.map +1 -1
- package/dist/models/dbPrimaryKey.d.ts +16 -0
- package/dist/models/dbPrimaryKey.js +3 -0
- package/dist/models/dbPrimaryKey.js.map +1 -0
- package/dist/models/dbTable.d.ts +49 -0
- package/dist/models/dbTable.js +3 -0
- package/dist/models/dbTable.js.map +1 -0
- package/dist/models/dbTableMarkdown.d.ts +34 -0
- package/dist/models/dbTableMarkdown.js +3 -0
- package/dist/models/dbTableMarkdown.js.map +1 -0
- package/dist/services/dbOptions.d.ts +35 -0
- package/dist/services/dbOptions.js +18 -0
- package/dist/services/dbOptions.js.map +1 -0
- package/dist/services/dbmOptions.d.ts +1 -1
- package/dist/services/dbmOptions.js +1 -1
- package/dist/services/dbmOptions.js.map +1 -1
- package/dist/services/dbmService.d.ts +36 -1
- package/dist/services/dbmService.js +80 -13
- package/dist/services/dbmService.js.map +1 -1
- package/package.json +74 -81
- package/.eslintcache +0 -1
- package/.prettierrc +0 -8
- package/dist/services/databaseTypes.js.map +0 -1
- package/dist/services/dbModel.d.ts +0 -135
package/CHANGELOG.md
CHANGED
|
@@ -7,21 +7,39 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
-
## [
|
|
10
|
+
## [2.0.0] - 2022-12-08
|
|
11
11
|
|
|
12
12
|
### Changes
|
|
13
13
|
|
|
14
|
+
- [Feature]: [mariadb/mysql] provice method `fromDatabase`
|
|
15
|
+
Generate database model markdow files from a specific database.
|
|
16
|
+
- [Feature]: [mariadb/mysql] provice method `toUpgradeSql`
|
|
17
|
+
Generate a SQL file with upgrade scripts.
|
|
18
|
+
- [Feature]: provide more readable format for markdown files
|
|
19
|
+
- [Feature]: [mariadb/mysql] provice method `genIndexFile`
|
|
20
|
+
Generate a `index.md` for all tables
|
|
21
|
+
|
|
22
|
+
## [1.0.6] - 2021-11-19
|
|
23
|
+
|
|
24
|
+
### Fix
|
|
25
|
+
|
|
26
|
+
- [Defect]: error when there is an empty definition file
|
|
27
|
+
|
|
28
|
+
## [1.0.5] - 2021-11-19
|
|
29
|
+
|
|
30
|
+
### Fix
|
|
31
|
+
|
|
14
32
|
- [Defect]: bad package
|
|
15
33
|
|
|
16
34
|
## [1.0.4] - 2021-11-19
|
|
17
35
|
|
|
18
|
-
###
|
|
36
|
+
### Fix
|
|
19
37
|
|
|
20
38
|
- [Defect]: bad package
|
|
21
39
|
|
|
22
40
|
## [1.0.3] - 2021-11-17
|
|
23
41
|
|
|
24
|
-
###
|
|
42
|
+
### Fix
|
|
25
43
|
|
|
26
44
|
- [Defect]: do not export file when file name is not provided.
|
|
27
45
|
|
|
@@ -30,6 +48,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
30
48
|
### Changes
|
|
31
49
|
|
|
32
50
|
- [Feature]: provice method toMarkdown
|
|
51
|
+
|
|
52
|
+
### Fixed
|
|
53
|
+
|
|
33
54
|
- [Defect]: some document issues.
|
|
34
55
|
|
|
35
56
|
## [1.0.1] - 2020-02-22
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Contributing to db-modeling-markdown
|
|
2
|
+
|
|
3
|
+
## Prepare Development Environment
|
|
4
|
+
|
|
5
|
+
```sh
|
|
6
|
+
npm add --global yarn
|
|
7
|
+
npm add --global prettier typescript ts-node
|
|
8
|
+
yarn
|
|
9
|
+
yarn prepare
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Publish steps
|
|
13
|
+
|
|
14
|
+
- change the package version
|
|
15
|
+
- change CHANGELOG
|
|
16
|
+
- change version in README
|
|
17
|
+
- build: run `yarn build`
|
|
18
|
+
- check the package
|
|
19
|
+
- publish: `npm publish --access public`
|
|
20
|
+
edit `~/npmrc`, comment out the mirrow repositories
|
|
21
|
+
if need, `npm adduser` to add
|
|
22
|
+
- document: update gitee pages
|
|
23
|
+
|
|
24
|
+
## Test
|
|
25
|
+
|
|
26
|
+
- test all
|
|
27
|
+
|
|
28
|
+
```sh
|
|
29
|
+
yarn test
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
- test a specific test file
|
|
33
|
+
|
|
34
|
+
```sh
|
|
35
|
+
yarn test filename.test.ts
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Tips
|
|
39
|
+
|
|
40
|
+
- we can use the variable `OverwriteExpected` to overwrite expected files
|
|
41
|
+
|
|
42
|
+
[dbmService.test.ts](tests\services\dbmService.test.ts)
|
|
43
|
+
|
|
44
|
+
```ts
|
|
45
|
+
// used to overwrite expected data
|
|
46
|
+
const OverwriteExpected = false
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Command
|
|
50
|
+
|
|
51
|
+
- Generate table markdown files for all databases
|
|
52
|
+
|
|
53
|
+
```typescript
|
|
54
|
+
// run tests\data\generateMarkdown.ts
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
- husky: project initialization
|
|
58
|
+
|
|
59
|
+
```sh
|
|
60
|
+
# husky init (for project initialization)
|
|
61
|
+
# npx husky-init
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
- husky: pre-commit command
|
|
65
|
+
[pre-commit.sh](.husky/pre-commit)
|
|
66
|
+
|
|
67
|
+
## Guidelings
|
|
68
|
+
|
|
69
|
+
### Coding Conventions
|
|
70
|
+
|
|
71
|
+
- Use `tab` rather than `space`
|
|
72
|
+
- using `.test.{ts, js}` extension for unit test files
|
|
73
|
+
- folder and file name: `camel`
|
|
74
|
+
- class name: `Pascal`
|
|
75
|
+
- max line width: `120`
|
|
76
|
+
- type scripts
|
|
77
|
+
- Semicolons: `true`
|
|
78
|
+
- Quotes: `single quoted`
|
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ Now, you may define your database tables in markdown files, and this utility wil
|
|
|
6
6
|
|
|
7
7
|
## Release Notes
|
|
8
8
|
|
|
9
|
-
###
|
|
9
|
+
### 2.0.0
|
|
10
10
|
|
|
11
11
|
[Change Log](./CHANGELOG.md)
|
|
12
12
|
|
|
@@ -15,86 +15,99 @@ Now, you may define your database tables in markdown files, and this utility wil
|
|
|
15
15
|
Define a markdown file(.db.md) like:
|
|
16
16
|
|
|
17
17
|
```markdown
|
|
18
|
-
# Table:
|
|
18
|
+
# Table: departments
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
## `Table`
|
|
21
|
+
|
|
22
|
+
| `Name` | `Comment` | `Character Set` | `Collation` |
|
|
23
|
+
| ----------- | --------------------- | --------------- | ------------------ |
|
|
24
|
+
| departments | The department table. | utf8mb4 | utf8mb4_general_ci |
|
|
22
25
|
|
|
23
26
|
## `Primary Key`
|
|
24
27
|
|
|
25
|
-
|
|
26
|
-
|
|
28
|
+
| `Columns` |
|
|
29
|
+
| ------------ |
|
|
30
|
+
| DepartmentID |
|
|
27
31
|
|
|
28
|
-
## `Indexes
|
|
32
|
+
## `Indexes`
|
|
29
33
|
|
|
30
|
-
## `Foreign Keys
|
|
34
|
+
## `Foreign Keys`
|
|
31
35
|
|
|
32
36
|
| `Columns` | `Ref Table` | `Ref Columns` | `Options` |
|
|
33
37
|
| --------- | ----------- | ------------- | --------- |
|
|
34
|
-
| ManagerID |
|
|
35
|
-
| ParentID |
|
|
36
|
-
|
|
37
|
-
## `Columns
|
|
38
|
-
|
|
39
|
-
| `Label`
|
|
40
|
-
|
|
|
41
|
-
| Department ID
|
|
42
|
-
| Department Name
|
|
43
|
-
| Parent
|
|
44
|
-
| Manager
|
|
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 |
|
|
45
53
|
```
|
|
46
54
|
|
|
47
55
|
You will get SQL scripts:
|
|
48
56
|
|
|
49
57
|
```sql
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
,
|
|
54
|
-
,
|
|
55
|
-
,
|
|
56
|
-
)
|
|
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
|
+
;
|
|
57
71
|
```
|
|
58
72
|
|
|
59
73
|
## Sample Code
|
|
60
74
|
|
|
61
75
|
```typescript
|
|
62
|
-
import * as path from 'path'
|
|
76
|
+
import * as path from 'path'
|
|
63
77
|
|
|
64
|
-
import { DatabaseTypes,
|
|
78
|
+
import { DatabaseTypes, DbmOptions, DbmService } from '../src'
|
|
65
79
|
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
80
|
+
const options: DbmOptions = new DbmOptions()
|
|
81
|
+
options.database = DatabaseTypes.mariadb
|
|
82
|
+
options.sourceFolder = path.join(__dirname, '../tests/data/mariadb/tables')
|
|
69
83
|
|
|
70
84
|
// Read table definition markdow files(.db.md), and produce a sql file with create-table-if-not-exists scripts
|
|
71
|
-
|
|
72
|
-
DbmService.toCreateTableIfNotExistsSql(
|
|
85
|
+
options.targetPath = path.join(__dirname, '../temp/createTableIf.sql')
|
|
86
|
+
DbmService.toCreateTableIfNotExistsSql(options)
|
|
73
87
|
|
|
74
88
|
// Read table definition markdow files(.db.md), and produce a sql file with create-table scripts
|
|
75
|
-
|
|
76
|
-
DbmService.toCreateTableSql(
|
|
89
|
+
options.targetPath = path.join(__dirname, '../temp/createTable.sql')
|
|
90
|
+
DbmService.toCreateTableSql(options)
|
|
77
91
|
|
|
78
92
|
// Read table definition markdow files(.db.md), and produce a sql file with drop-table scripts
|
|
79
|
-
|
|
80
|
-
DbmService.toDropTableSql(
|
|
93
|
+
options.targetPath = path.join(__dirname, '../temp/dropTable.sql')
|
|
94
|
+
DbmService.toDropTableSql(options)
|
|
81
95
|
|
|
82
96
|
// Read table definition markdow files(.db.md), and produce a sql file with drop-then-create-table scripts
|
|
83
|
-
|
|
84
|
-
DbmService.toDropThenCreateTableSql(
|
|
97
|
+
options.targetPath = path.join(__dirname, '../temp/dropThenCreateTable.sql')
|
|
98
|
+
DbmService.toDropThenCreateTableSql(options)
|
|
85
99
|
|
|
86
100
|
// Read table definition markdow files(.db.md), and produce a json file
|
|
87
|
-
|
|
88
|
-
DbmService.toJson(
|
|
101
|
+
options.targetPath = path.join(__dirname, '../temp/model.json')
|
|
102
|
+
DbmService.toJson(options)
|
|
89
103
|
|
|
90
104
|
// Read table definition markdow files(.db.md), and produce a model object
|
|
91
|
-
|
|
92
|
-
const model = DbmService.toModel(
|
|
93
|
-
console.log(JSON.stringify(model, null, 2))
|
|
105
|
+
options.targetPath = ''
|
|
106
|
+
const model = DbmService.toModel(options)
|
|
107
|
+
console.log(JSON.stringify(model, null, 2))
|
|
94
108
|
|
|
95
109
|
// Generate database modeling markdown files (.db.md) from a model
|
|
96
|
-
DbmService.toMarkdown(model, path.join(__dirname, '../
|
|
97
|
-
|
|
110
|
+
DbmService.toMarkdown(model, path.join(__dirname, '../temp/tables'), true)
|
|
98
111
|
```
|
|
99
112
|
|
|
100
113
|
## Features
|
|
@@ -117,4 +130,8 @@ DbmService.toMarkdown(model, path.join(__dirname, '../tmp/tables'), true);
|
|
|
117
130
|
- Support generate an model object of the database model.
|
|
118
131
|
- Support generate database definition markdown files from a database model.
|
|
119
132
|
|
|
133
|
+
## Contributing
|
|
134
|
+
|
|
135
|
+
Please see [Contributing](./CONTRIBUTING.md)
|
|
136
|
+
|
|
120
137
|
**Enjoy!**
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dbImportProvider.js","sourceRoot":"","sources":["../../../src/dialects/core/dbImportProvider.ts"],"names":[],"mappings":";;;AAGA,MAAsB,gBAAgB;CAErC;AAFD,4CAEC"}
|
|
@@ -1,11 +1,18 @@
|
|
|
1
|
-
import {
|
|
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;
|
|
2
8
|
export declare abstract class DbProvider {
|
|
3
9
|
private outputs;
|
|
4
10
|
getColumnComment(column: DbColumn): string;
|
|
5
|
-
abstract getCreateTableIfNotExistsSql(model: DbModel,
|
|
6
|
-
abstract getCreateTableSql(model: DbModel,
|
|
7
|
-
abstract getDropTableSql(model: DbModel,
|
|
8
|
-
abstract getDropThenCreateTableSql(model: DbModel,
|
|
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;
|
|
9
16
|
private getOutput;
|
|
10
17
|
outputCopy(): string;
|
|
11
18
|
outputInitialize(): void;
|
|
@@ -13,9 +20,15 @@ export declare abstract class DbProvider {
|
|
|
13
20
|
outputlnln(text: string, outputId?: number): void;
|
|
14
21
|
renderDefaultName(table: DbTable, column: DbColumn): string;
|
|
15
22
|
renderFkName(table: DbTable, foreignKey: DbForeignKey): string;
|
|
23
|
+
renderFkName2(tableName: string, foreignKey: DbForeignKey): string;
|
|
16
24
|
renderIndexName(table: DbTable, index: DbIndex): string;
|
|
25
|
+
renderIndexName2(tableName: string, index: DbIndex): string;
|
|
17
26
|
renderPkName(table: DbTable): string;
|
|
18
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;
|
|
19
33
|
stripBrackets(value: string, stripAll?: boolean): string;
|
|
20
34
|
}
|
|
21
|
-
export declare const line: string;
|
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/* eslint-disable class-methods-use-this */
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
+
exports.DbProvider = exports.indent = exports.line = void 0;
|
|
5
|
+
exports.line = '\n';
|
|
6
|
+
exports.indent = ' ';
|
|
4
7
|
class DbProvider {
|
|
5
8
|
constructor() {
|
|
6
9
|
this.outputs = new Map();
|
|
7
10
|
}
|
|
8
11
|
getColumnComment(column) {
|
|
9
|
-
let sqlComment =
|
|
10
|
-
if (sqlComment.length === 0 && column.label
|
|
12
|
+
let sqlComment = column.comment ? column.comment : '';
|
|
13
|
+
if (sqlComment.length === 0 && column.label) {
|
|
11
14
|
sqlComment = column.label;
|
|
12
15
|
}
|
|
13
16
|
return sqlComment;
|
|
14
17
|
}
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
19
|
+
getUpgradeSql(fromModel, model, withComment) {
|
|
20
|
+
throw new Error('Method not implemented.');
|
|
21
|
+
}
|
|
15
22
|
getOutput(outputId) {
|
|
16
23
|
let output = this.outputs.get(outputId);
|
|
17
24
|
if (output === undefined) {
|
|
@@ -48,10 +55,23 @@ class DbProvider {
|
|
|
48
55
|
return `DF_${this.renderTableName(table.name)}_${column.name}`;
|
|
49
56
|
}
|
|
50
57
|
renderFkName(table, foreignKey) {
|
|
51
|
-
return
|
|
58
|
+
return this.renderFkName2(table.name, foreignKey);
|
|
59
|
+
}
|
|
60
|
+
renderFkName2(tableName, foreignKey) {
|
|
61
|
+
return `FK_${this.renderTableName(tableName)}_${foreignKey.columns
|
|
62
|
+
.replace(/[()\s]/g, '')
|
|
63
|
+
.replace(/,/g, '_')}`;
|
|
52
64
|
}
|
|
53
65
|
renderIndexName(table, index) {
|
|
54
|
-
return
|
|
66
|
+
return this.renderIndexName2(table.name, index);
|
|
67
|
+
}
|
|
68
|
+
renderIndexName2(tableName, index) {
|
|
69
|
+
if (index.name) {
|
|
70
|
+
return index.name;
|
|
71
|
+
}
|
|
72
|
+
return `IK_${this.renderTableName(tableName)}_${index.columns
|
|
73
|
+
.replace(/[()\s]/g, '')
|
|
74
|
+
.replace(/,/g, '_')}`;
|
|
55
75
|
}
|
|
56
76
|
renderPkName(table) {
|
|
57
77
|
return `PK_${this.renderTableName(table.name)}`;
|
|
@@ -59,6 +79,21 @@ class DbProvider {
|
|
|
59
79
|
renderTableName(name) {
|
|
60
80
|
return name.replace('\\s', '').replace('_', '');
|
|
61
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* make sure the length of the name is <= 64
|
|
84
|
+
* @param name the key name
|
|
85
|
+
*/
|
|
86
|
+
renderName(prefix, columns, name) {
|
|
87
|
+
if (name.length <= 64) {
|
|
88
|
+
return name;
|
|
89
|
+
}
|
|
90
|
+
const sections = name.split('_');
|
|
91
|
+
// for 1 field case, cut it
|
|
92
|
+
if (sections.length <= 2) {
|
|
93
|
+
return name.substring(0, 64);
|
|
94
|
+
}
|
|
95
|
+
return name;
|
|
96
|
+
}
|
|
62
97
|
stripBrackets(value, stripAll = false) {
|
|
63
98
|
let newValue = value;
|
|
64
99
|
const minLength = stripAll ? 2 : 4;
|
|
@@ -82,5 +117,4 @@ class DbProvider {
|
|
|
82
117
|
}
|
|
83
118
|
}
|
|
84
119
|
exports.DbProvider = DbProvider;
|
|
85
|
-
exports.line = '\n';
|
|
86
120
|
//# sourceMappingURL=dbProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dbProvider.js","sourceRoot":"","sources":["../../../src/dialects/core/dbProvider.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"dbProvider.js","sourceRoot":"","sources":["../../../src/dialects/core/dbProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
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 class DbUtils {
|
|
9
|
+
static getComment(column: DbColumn): string | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* Generate names for indexes and foreign keys
|
|
12
|
+
* @param model the database model
|
|
13
|
+
* @param maxLength the max length of key name limitation
|
|
14
|
+
*/
|
|
15
|
+
static genModelNames(model: DbModel, maxLength?: number): void;
|
|
16
|
+
/**
|
|
17
|
+
* Generate names for indexes and foreign keys
|
|
18
|
+
* - table name + first field
|
|
19
|
+
* - if there is a duplicate, and more fields
|
|
20
|
+
* - only keep characters in max length
|
|
21
|
+
* - if there is a duplicate, remove and last 4 chars and add an index like 0001.
|
|
22
|
+
* @param table
|
|
23
|
+
* @param maxLength
|
|
24
|
+
*/
|
|
25
|
+
static genTableNames(table: DbTable, maxLength?: number): void;
|
|
26
|
+
static renderDefaultName(table: DbTable, column: DbColumn): string;
|
|
27
|
+
static renderFkName(table: DbTable, foreignKey: DbForeignKey): string;
|
|
28
|
+
static renderFkName2(tableName: string, foreignKey: DbForeignKey): string;
|
|
29
|
+
static renderIndexName(table: DbTable, index: DbIndex): string;
|
|
30
|
+
static renderIndexName2(tableName: string, index: DbIndex): string;
|
|
31
|
+
static renderPkName(table: DbTable): string;
|
|
32
|
+
static renderTableName(name: string): string;
|
|
33
|
+
static stripBrackets(value: string, stripAll?: boolean): string;
|
|
34
|
+
static log(data: any): string;
|
|
35
|
+
}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable class-methods-use-this */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.DbUtils = exports.indent = exports.line = void 0;
|
|
5
|
+
exports.line = '\n';
|
|
6
|
+
exports.indent = ' ';
|
|
7
|
+
class DbUtils {
|
|
8
|
+
static getComment(column) {
|
|
9
|
+
let sqlComment = column.comment;
|
|
10
|
+
if (!sqlComment && column.label) {
|
|
11
|
+
sqlComment = column.label;
|
|
12
|
+
}
|
|
13
|
+
return sqlComment;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Generate names for indexes and foreign keys
|
|
17
|
+
* @param model the database model
|
|
18
|
+
* @param maxLength the max length of key name limitation
|
|
19
|
+
*/
|
|
20
|
+
static genModelNames(model, maxLength = 64) {
|
|
21
|
+
model.tables.forEach(table => {
|
|
22
|
+
this.genTableNames(table, maxLength);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Generate names for indexes and foreign keys
|
|
27
|
+
* - table name + first field
|
|
28
|
+
* - if there is a duplicate, and more fields
|
|
29
|
+
* - only keep characters in max length
|
|
30
|
+
* - if there is a duplicate, remove and last 4 chars and add an index like 0001.
|
|
31
|
+
* @param table
|
|
32
|
+
* @param maxLength
|
|
33
|
+
*/
|
|
34
|
+
static genTableNames(table, maxLength = 64) {
|
|
35
|
+
let nameMap = {};
|
|
36
|
+
table.indexes.forEach(index => {
|
|
37
|
+
if (index.name) {
|
|
38
|
+
nameMap[index.name] = index.name;
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const columns = index.columns.split(/,\s*/g);
|
|
42
|
+
index.name = `IK_${table.name}`;
|
|
43
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
44
|
+
for (const column of columns) {
|
|
45
|
+
index.name += `_${column}`;
|
|
46
|
+
if (!nameMap[index.name]) {
|
|
47
|
+
// if the name is good
|
|
48
|
+
nameMap[index.name] = index.name;
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
// apply the max length limitation
|
|
54
|
+
nameMap = {};
|
|
55
|
+
let nameIndex = 0;
|
|
56
|
+
table.indexes.forEach(index => {
|
|
57
|
+
if (index.name.length > maxLength) {
|
|
58
|
+
index.name = index.name?.substring(0, maxLength);
|
|
59
|
+
}
|
|
60
|
+
if (!nameMap[index.name]) {
|
|
61
|
+
// if the name is good
|
|
62
|
+
nameMap[index.name] = index.name;
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
nameIndex += 1;
|
|
66
|
+
index.name = index.name.substring(0, maxLength - 4) + nameIndex.toString().padStart(4, '0');
|
|
67
|
+
});
|
|
68
|
+
// foreign keys
|
|
69
|
+
nameMap = {};
|
|
70
|
+
table.foreignKeys.forEach(foreignKey => {
|
|
71
|
+
if (foreignKey.name) {
|
|
72
|
+
nameMap[foreignKey.name] = foreignKey.name;
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
const columns = foreignKey.columns.split(/,\s*/g);
|
|
76
|
+
foreignKey.name = `FK_${table.name}`;
|
|
77
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
78
|
+
for (const column of columns) {
|
|
79
|
+
foreignKey.name += `_${column}`;
|
|
80
|
+
if (!nameMap[foreignKey.name]) {
|
|
81
|
+
// if the name is good
|
|
82
|
+
nameMap[foreignKey.name] = foreignKey.name;
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
// apply the max length limitation
|
|
88
|
+
nameMap = {};
|
|
89
|
+
nameIndex = 0;
|
|
90
|
+
table.foreignKeys.forEach(foreignKey => {
|
|
91
|
+
if (foreignKey.name.length > maxLength) {
|
|
92
|
+
foreignKey.name = foreignKey.name?.substring(0, maxLength);
|
|
93
|
+
}
|
|
94
|
+
if (!nameMap[foreignKey.name]) {
|
|
95
|
+
// if the name is good
|
|
96
|
+
nameMap[foreignKey.name] = foreignKey.name;
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
nameIndex += 1;
|
|
100
|
+
foreignKey.name = foreignKey.name.substring(0, maxLength - 4) + nameIndex.toString().padStart(4, '0');
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
static renderDefaultName(table, column) {
|
|
104
|
+
return `DF_${DbUtils.renderTableName(table.name)}_${column.name}`;
|
|
105
|
+
}
|
|
106
|
+
static renderFkName(table, foreignKey) {
|
|
107
|
+
return DbUtils.renderFkName2(table.name, foreignKey);
|
|
108
|
+
}
|
|
109
|
+
static renderFkName2(tableName, foreignKey) {
|
|
110
|
+
return `FK_${DbUtils.renderTableName(tableName)}_${foreignKey.columns
|
|
111
|
+
.replace(/[()\s]/g, '')
|
|
112
|
+
.replace(/,/g, '_')}`;
|
|
113
|
+
}
|
|
114
|
+
static renderIndexName(table, index) {
|
|
115
|
+
return DbUtils.renderIndexName2(table.name, index);
|
|
116
|
+
}
|
|
117
|
+
static renderIndexName2(tableName, index) {
|
|
118
|
+
if (index.name) {
|
|
119
|
+
return index.name;
|
|
120
|
+
}
|
|
121
|
+
return `IK_${DbUtils.renderTableName(tableName)}_${index.columns
|
|
122
|
+
.replace(/[()\s]/g, '')
|
|
123
|
+
.replace(/,/g, '_')}`;
|
|
124
|
+
}
|
|
125
|
+
static renderPkName(table) {
|
|
126
|
+
return `PK_${DbUtils.renderTableName(table.name)}`;
|
|
127
|
+
}
|
|
128
|
+
static renderTableName(name) {
|
|
129
|
+
return name.replace('\\s', '');
|
|
130
|
+
}
|
|
131
|
+
static stripBrackets(value, stripAll = false) {
|
|
132
|
+
let newValue = value;
|
|
133
|
+
const minLength = stripAll ? 2 : 4;
|
|
134
|
+
while (newValue.length > minLength) {
|
|
135
|
+
if (stripAll) {
|
|
136
|
+
if (newValue.startsWith('(') && newValue.endsWith(')')) {
|
|
137
|
+
newValue = newValue.substring(1, newValue.length - 1);
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
else if (newValue.startsWith('((') && newValue.endsWith('))')) {
|
|
144
|
+
newValue = newValue.substring(2, newValue.length - 2);
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
break;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return newValue;
|
|
151
|
+
}
|
|
152
|
+
static log(data) {
|
|
153
|
+
// eslint-disable-next-line no-console
|
|
154
|
+
console.log(data);
|
|
155
|
+
return "";
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
exports.DbUtils = DbUtils;
|
|
159
|
+
//# sourceMappingURL=dbUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dbUtils.js","sourceRoot":"","sources":["../../../src/dialects/core/dbUtils.ts"],"names":[],"mappings":"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"}
|