namirasoft-node-sequelize 1.4.14 → 1.4.16

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.
@@ -14,7 +14,7 @@ export declare abstract class BaseSequelizeDatabase extends BaseDatabase {
14
14
  constructor(dialect: Dialect, host: string, port: number, name: string, user: string, pass: string, logging?: boolean, getConnectionString?: () => string);
15
15
  getName(): string;
16
16
  connect(): Promise<void>;
17
- sync(force: boolean): Promise<void>;
17
+ migrate(): Promise<void>;
18
18
  isHealthy(): Promise<boolean>;
19
19
  close(): Promise<void>;
20
20
  startTransaction<T>(handler: (trx: Transaction) => Promise<T>, trx: Transaction | null): Promise<T>;
@@ -23,7 +23,7 @@ export declare abstract class BaseSequelizeDatabase extends BaseDatabase {
23
23
  }, filters?: FilterItem[] | undefined): Promise<WhereOptions[]>;
24
24
  getAdvancedSearchConditions(columns: string[], search: string): WhereOptions[];
25
25
  getSortOptions(sorts?: SortItem[] | undefined): Order;
26
- seed<Model extends {
26
+ seedByFile<Model extends {
27
27
  id: string | number;
28
28
  }>(app: BaseApplication<any>, file_path: string, seedable_table: BaseSequelizeDatabaseSeedable<Model>, preprocess?: (item: Model) => Model): Promise<void>;
29
29
  }
@@ -55,10 +55,20 @@ class BaseSequelizeDatabase extends namirasoft_node_1.BaseDatabase {
55
55
  }
56
56
  });
57
57
  }
58
- sync(force) {
58
+ migrate() {
59
59
  return __awaiter(this, void 0, void 0, function* () {
60
- if (!process.env.NAMIRASOFT_MUTE)
61
- yield this.sequelize.sync({ force });
60
+ if (!process.env.NAMIRASOFT_MUTE) {
61
+ if (!process.env.NAMIRASOFT_SEQUELIZE_SYNC)
62
+ yield this.sequelize.sync();
63
+ if (!process.env.NAMIRASOFT_SEQUELIZE_SYNC_ALTER)
64
+ yield this.sequelize.sync({
65
+ alter: true,
66
+ logging: (sql) => {
67
+ var _a;
68
+ (_a = namirasoft_log_1.Logger.main) === null || _a === void 0 ? void 0 : _a.critical(sql);
69
+ }
70
+ });
71
+ }
62
72
  });
63
73
  }
64
74
  isHealthy() {
@@ -130,18 +140,24 @@ class BaseSequelizeDatabase extends namirasoft_node_1.BaseDatabase {
130
140
  });
131
141
  return ans;
132
142
  }
133
- seed(app, file_path, seedable_table, preprocess) {
143
+ seedByFile(app, file_path, seedable_table, preprocess) {
134
144
  return __awaiter(this, void 0, void 0, function* () {
135
145
  if (!preprocess)
136
146
  preprocess = i => i;
137
147
  let items = app.read(file_path);
138
148
  for (let i = 0; i < items.length; i++) {
139
- const item = preprocess(items[i]);
140
- let product = yield seedable_table.getOrNull(item.id, null);
141
- if (product === null)
142
- yield seedable_table.create(item, null);
143
- else
144
- yield seedable_table.update(item, null);
149
+ try {
150
+ const item = preprocess(items[i]);
151
+ let product = yield seedable_table.getOrNull(item.id, null);
152
+ if (product === null)
153
+ yield seedable_table.create(item, null);
154
+ else
155
+ yield seedable_table.update(item, null);
156
+ }
157
+ catch (error) {
158
+ console.log({ item: items[i] });
159
+ throw error;
160
+ }
145
161
  }
146
162
  });
147
163
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BaseSequelizeDatabase.js","sourceRoot":"","sources":["../src/BaseSequelizeDatabase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseSequelizeDatabase.js","sourceRoot":"","sources":["../src/BaseSequelizeDatabase.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "framework": "npm",
9
9
  "application": "package",
10
10
  "private": false,
11
- "version": "1.4.14",
11
+ "version": "1.4.16",
12
12
  "author": "Amir Abolhasani",
13
13
  "license": "MIT",
14
14
  "main": "./dist/index.js",
@@ -17,9 +17,9 @@
17
17
  "build": ""
18
18
  },
19
19
  "dependencies": {
20
- "@types/node": "^25.2.3",
21
- "namirasoft-core": "^1.4.111",
22
- "namirasoft-node": "^1.4.135",
23
- "sequelize": "^6.37.7"
20
+ "@types/node": "^25.5.0",
21
+ "namirasoft-core": "^1.4.113",
22
+ "namirasoft-node": "^1.4.145",
23
+ "sequelize": "^6.37.8"
24
24
  }
25
25
  }
@@ -62,10 +62,21 @@ export abstract class BaseSequelizeDatabase extends BaseDatabase
62
62
  Logger.main?.success(`Database - ${this.dialect} - ${this.name} - was connected.`);
63
63
  }
64
64
  }
65
- override async sync(force: boolean)
65
+ override async migrate()
66
66
  {
67
67
  if (!process.env.NAMIRASOFT_MUTE)
68
- await this.sequelize.sync({ force });
68
+ {
69
+ if (!process.env.NAMIRASOFT_SEQUELIZE_SYNC)
70
+ await this.sequelize.sync();
71
+ if (!process.env.NAMIRASOFT_SEQUELIZE_SYNC_ALTER)
72
+ await this.sequelize.sync({
73
+ alter: true,
74
+ logging: (sql: string) =>
75
+ {
76
+ Logger.main?.critical(sql);
77
+ }
78
+ });
79
+ }
69
80
  }
70
81
  override async isHealthy()
71
82
  {
@@ -149,19 +160,26 @@ export abstract class BaseSequelizeDatabase extends BaseDatabase
149
160
 
150
161
  return ans;
151
162
  }
152
- public async seed<Model extends { id: string | number }>(app: BaseApplication<any>, file_path: string, seedable_table: BaseSequelizeDatabaseSeedable<Model>, preprocess?: (item: Model) => Model)
163
+ public async seedByFile<Model extends { id: string | number }>(app: BaseApplication<any>, file_path: string, seedable_table: BaseSequelizeDatabaseSeedable<Model>, preprocess?: (item: Model) => Model)
153
164
  {
154
165
  if (!preprocess)
155
166
  preprocess = i => i;
156
167
  let items = app.read<Model[]>(file_path);
157
168
  for (let i = 0; i < items.length; i++)
158
169
  {
159
- const item = preprocess(items[i]);
160
- let product = await seedable_table.getOrNull(item.id, null);
161
- if (product === null)
162
- await seedable_table.create(item, null);
163
- else
164
- await seedable_table.update(item, null);
170
+ try
171
+ {
172
+ const item = preprocess(items[i]);
173
+ let product = await seedable_table.getOrNull(item.id, null);
174
+ if (product === null)
175
+ await seedable_table.create(item, null);
176
+ else
177
+ await seedable_table.update(item, null);
178
+ } catch (error)
179
+ {
180
+ console.log({ item: items[i] });
181
+ throw error;
182
+ }
165
183
  }
166
184
  }
167
185
  }