gg-mysql-connector 1.0.46 → 1.0.49

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/app_INF.ts CHANGED
@@ -1,24 +1,18 @@
1
- export default interface app_INF {
2
- item: {
3
- id: number
4
- name: "pen" | "ruler"
5
- price: number
6
- description: string
7
- amount: number
8
- }
9
- user: {
10
- id: number
11
- name: string
12
- }
13
- test_view: {
14
- id: number
15
- name: string
16
- itemName: "pen" | "ruler"
17
- }
18
- item_view: {
19
- id: number
20
- name: "pen" | "ruler"
21
- amount: number
22
- price: number
23
- }
24
- }
1
+ export default interface app_INF { item : {
2
+ id: number;
3
+ name: "pen" | "ruler" | "tiger";
4
+ price: number;
5
+ description: string;
6
+ amount: number; }
7
+ user : {
8
+ id: number;
9
+ name: string; }
10
+ test_view : {
11
+ id: number;
12
+ name: string;
13
+ itemName: "pen" | "ruler" | "tiger"; }
14
+ item_view : {
15
+ id: number;
16
+ name: "pen" | "ruler" | "tiger";
17
+ amount: number;
18
+ price: number; } }
@@ -1,24 +1,16 @@
1
- export const app_model_const = {
2
- item: {
3
- id: "number",
4
- name: ["pen", "ruler"] as string[],
5
- price: "number",
6
- description: "string",
7
- amount: "number",
8
- },
9
- user: {
10
- id: "number",
11
- name: "string",
12
- },
13
- test_view: {
14
- id: "number",
15
- name: "string",
16
- itemName: ["pen", "ruler"] as string[],
17
- },
18
- item_view: {
19
- id: "number",
20
- name: ["pen", "ruler"] as string[],
21
- amount: "number",
22
- price: "number",
23
- },
24
- } as const
1
+
2
+ export const app_model_const = { item : {
3
+ id: "number",
4
+ name: ["pen" , "ruler" , "tiger"] as string[],
5
+ price: "number",
6
+ description: "string",
7
+ amount: "number", }, user : {
8
+ id: "number",
9
+ name: "string", }, test_view : {
10
+ id: "number",
11
+ name: "string",
12
+ itemName: ["pen" , "ruler" , "tiger"] as string[], }, item_view : {
13
+ id: "number",
14
+ name: ["pen" , "ruler" , "tiger"] as string[],
15
+ amount: "number",
16
+ price: "number", } } as const
package/dist/app_INF.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export default interface app_INF {
2
2
  item: {
3
3
  id: number;
4
- name: "pen" | "ruler";
4
+ name: "pen" | "ruler" | "tiger";
5
5
  price: number;
6
6
  description: string;
7
7
  amount: number;
@@ -13,11 +13,11 @@ export default interface app_INF {
13
13
  test_view: {
14
14
  id: number;
15
15
  name: string;
16
- itemName: "pen" | "ruler";
16
+ itemName: "pen" | "ruler" | "tiger";
17
17
  };
18
18
  item_view: {
19
19
  id: number;
20
- name: "pen" | "ruler";
20
+ name: "pen" | "ruler" | "tiger";
21
21
  amount: number;
22
22
  price: number;
23
23
  };
@@ -1,27 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.app_model_const = void 0;
4
- exports.app_model_const = {
5
- item: {
4
+ exports.app_model_const = { item: {
6
5
  id: "number",
7
- name: ["pen", "ruler"],
6
+ name: ["pen", "ruler", "tiger"],
8
7
  price: "number",
9
8
  description: "string",
10
9
  amount: "number",
11
- },
12
- user: {
10
+ }, user: {
13
11
  id: "number",
14
12
  name: "string",
15
- },
16
- test_view: {
13
+ }, test_view: {
17
14
  id: "number",
18
15
  name: "string",
19
- itemName: ["pen", "ruler"],
20
- },
21
- item_view: {
16
+ itemName: ["pen", "ruler", "tiger"],
17
+ }, item_view: {
22
18
  id: "number",
23
- name: ["pen", "ruler"],
19
+ name: ["pen", "ruler", "tiger"],
24
20
  amount: "number",
25
21
  price: "number",
26
- },
27
- };
22
+ } };
@@ -25,7 +25,7 @@ export default class ModelGenerator {
25
25
  getColumnFullList(tableName: string): Promise<mysql.RowDataPacket[]>;
26
26
  private isTableNameExistInModel;
27
27
  private isColumnExistInModel;
28
- getPossibleColumnValue(model: MyModel[], tableName: string, columnName: string, columnType: string): false | string[] | undefined;
28
+ getPossibleColumnValue(model: MyModel[], tableName: string, columnName: string, columnType: string): false | (string | null)[] | undefined;
29
29
  generateModelInterface(params: {
30
30
  appName: string;
31
31
  model: MyModel[];
@@ -17,7 +17,7 @@ export default class MyDBMigrator {
17
17
  private checkIsColumnDataTypeChange;
18
18
  alterUniqueKey(tableName: string, columnName: string, IS_UNIQUE: boolean | undefined): Promise<void>;
19
19
  alterIndex(tableName: string, columnName: string, IS_INDEX: boolean | undefined): Promise<void>;
20
- alterPossibleEnum(tableName: string, columnName: string, possibleValue?: string[]): Promise<null | undefined>;
20
+ alterPossibleEnum(tableName: string, columnName: string, possibleValue?: (string | null)[]): Promise<null | undefined>;
21
21
  migrateView(viewDirectory: string): Promise<0 | undefined>;
22
22
  migrateView_v2(viewModel: MyViewModel[]): Promise<void>;
23
23
  checkIsPrimaryKey(databaseName: string, tableName: string, columnName: string): Promise<boolean>;
@@ -118,10 +118,16 @@ class MyDBMigrator {
118
118
  return null;
119
119
  const data = this.onetimeLoadColumnContent.find((row) => row.COLUMN_NAME === columnName && row.TABLE_NAME === tableName);
120
120
  if (data) {
121
- const possibleValueString = possibleValue
122
- .map((row) => `"${row}"`)
121
+ let possibleValueString = possibleValue
122
+ .filter((row) => row !== null)
123
+ .map((row) => {
124
+ return `"${row}"`;
125
+ })
123
126
  .join(", ");
124
- await this.MyDB.query(`ALTER TABLE ${tableName} MODIFY COLUMN ${columnName} ENUM(${possibleValueString}) NOT NULL;`);
127
+ const nullString = possibleValue.filter((row) => row == null).length > 0
128
+ ? "NULL"
129
+ : "NOT NULL";
130
+ await this.MyDB.query(`ALTER TABLE ${tableName} MODIFY COLUMN ${columnName} ENUM(${possibleValueString}) ${nullString};`);
125
131
  }
126
132
  }
127
133
  async migrateView(viewDirectory) {
@@ -5,7 +5,7 @@ export interface columnContent {
5
5
  DATA_TYPE: columnType;
6
6
  COLUMN_DEFAULT?: string | number | null;
7
7
  AUTO_INCREMENT?: boolean;
8
- POSSIBLE_VALUE?: string[];
8
+ POSSIBLE_VALUE?: (string | null)[];
9
9
  IS_UNIQUE?: boolean;
10
10
  IS_INDEX?: boolean;
11
11
  }
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "gg-mysql-connector",
3
- "version": "1.0.46",
3
+ "version": "1.0.49",
4
4
  "description": "",
5
- "main": "dist/index.js",
5
+ "main": "dist/src/index.js",
6
6
  "scripts": {
7
7
  "test": "echo \"Error: no test specified\" && exit 1",
8
8
  "build": "tsc && npm version patch --no-git-tag-version"
@@ -189,18 +189,27 @@ export default class MyDBMigrator {
189
189
  async alterPossibleEnum(
190
190
  tableName: string,
191
191
  columnName: string,
192
- possibleValue?: string[]
192
+ possibleValue?: (string | null)[]
193
193
  ) {
194
194
  if (!possibleValue) return null
195
195
  const data = this.onetimeLoadColumnContent.find(
196
196
  (row) => row.COLUMN_NAME === columnName && row.TABLE_NAME === tableName
197
197
  )
198
198
  if (data) {
199
- const possibleValueString = possibleValue
200
- .map((row) => `"${row}"`)
199
+ let possibleValueString = possibleValue
200
+ .filter((row) => row !== null)
201
+ .map((row) => {
202
+ return `"${row}"`
203
+ })
201
204
  .join(", ")
205
+
206
+ const nullString =
207
+ possibleValue.filter((row) => row == null).length > 0
208
+ ? "NULL"
209
+ : "NOT NULL"
210
+
202
211
  await this.MyDB.query(
203
- `ALTER TABLE ${tableName} MODIFY COLUMN ${columnName} ENUM(${possibleValueString}) NOT NULL;`
212
+ `ALTER TABLE ${tableName} MODIFY COLUMN ${columnName} ENUM(${possibleValueString}) ${nullString};`
204
213
  )
205
214
  }
206
215
  }
package/src/myModel.ts CHANGED
@@ -22,7 +22,7 @@ export interface columnContent {
22
22
  DATA_TYPE: columnType
23
23
  COLUMN_DEFAULT?: string | number | null
24
24
  AUTO_INCREMENT?: boolean
25
- POSSIBLE_VALUE?: string[]
25
+ POSSIBLE_VALUE?: (string | null)[]
26
26
  IS_UNIQUE?: boolean
27
27
  IS_INDEX?: boolean
28
28
  }