vona-module-a-version 5.0.39 → 5.0.40

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/dist/index.js CHANGED
@@ -137,11 +137,16 @@ let ServiceDatabase = (_dec$7 = Service(), _dec2$7 = BeanInfo({
137
137
  }
138
138
  async databaseInitStartup() {
139
139
  // database
140
- await this.__preparedatabases(true);
140
+ await this.__prepareDatabases(true);
141
141
  }
142
142
  async databaseNameStartup() {
143
143
  // database
144
- await this.__preparedatabases(false);
144
+ await this.__prepareDatabases(false);
145
+ }
146
+ async prepareDatabase(clientName, versionStart, configInstanceBase) {
147
+ await this.bean.database.switchDb(async () => {
148
+ await this.__prepareDatabase(versionStart, configInstanceBase);
149
+ }, clientName);
145
150
  }
146
151
  async __fetchDatabases(client, configInstanceBase) {
147
152
  const databasePrefix = this.getDatabasePrefix(configInstanceBase);
@@ -162,27 +167,23 @@ let ServiceDatabase = (_dec$7 = Service(), _dec2$7 = BeanInfo({
162
167
  await client.connection.schema.createDatabase(databaseName);
163
168
  return databaseName;
164
169
  }
165
- async __preparedatabases(versionStart) {
170
+ async __prepareDatabases(versionStart) {
166
171
  // default
167
- await this.bean.database.switchDb(async () => {
168
- await this.__preparedatabase(versionStart);
169
- }, 'default');
172
+ await this.prepareDatabase('default', versionStart);
170
173
  // isolate
171
174
  for (const configInstanceBase of this.app.config.instances) {
172
175
  if (!configInstanceBase.isolate) continue;
173
176
  if (!configInstanceBase.isolateClient) throw new Error(`should specify isolateClient for isolate instance: ${configInstanceBase.name}`);
174
- await this.bean.database.switchDb(async () => {
175
- await this.__preparedatabase(versionStart, configInstanceBase);
176
- }, configInstanceBase.isolateClient);
177
+ await this.prepareDatabase(configInstanceBase.isolateClient, versionStart, configInstanceBase);
177
178
  }
178
179
  }
179
- async __preparedatabase(versionStart, configInstanceBase) {
180
- await this.__preparedatabaseInner(configInstanceBase);
180
+ async __prepareDatabase(versionStart, configInstanceBase) {
181
+ await this.__prepareDatabaseInner(configInstanceBase);
181
182
  if (versionStart) {
182
183
  await this.scope.service.version.__start();
183
184
  }
184
185
  }
185
- async __preparedatabaseInner(configInstanceBase) {
186
+ async __prepareDatabaseInner(configInstanceBase) {
186
187
  if (this.app.meta.isProd) {
187
188
  // donothing
188
189
  return;
@@ -1,14 +1,15 @@
1
1
  import type { ConfigInstanceBase } from 'vona-module-a-instance';
2
- import type { ServiceDatabaseClient } from 'vona-module-a-orm';
2
+ import type { IDatabaseClientRecord } from 'vona-module-a-orm';
3
3
  import { BeanBase } from 'vona';
4
4
  export declare class ServiceDatabase extends BeanBase {
5
5
  get configDatabase(): import("vona-module-a-orm").ConfigDatabase;
6
6
  getDatabasePrefix(configInstanceBase?: ConfigInstanceBase): string;
7
7
  databaseInitStartup(): Promise<void>;
8
8
  databaseNameStartup(): Promise<void>;
9
- __fetchDatabases(client: ServiceDatabaseClient, configInstanceBase?: ConfigInstanceBase): Promise<import("vona-module-a-orm").IFetchDatabasesResultItem[]>;
10
- __createDatabase(client: ServiceDatabaseClient, configInstanceBase?: ConfigInstanceBase): Promise<string>;
11
- __preparedatabases(versionStart: boolean): Promise<void>;
12
- __preparedatabase(versionStart: boolean, configInstanceBase?: ConfigInstanceBase): Promise<void>;
13
- __preparedatabaseInner(configInstanceBase?: ConfigInstanceBase): Promise<void>;
9
+ prepareDatabase(clientName: keyof IDatabaseClientRecord, versionStart: boolean, configInstanceBase?: ConfigInstanceBase): Promise<void>;
10
+ private __fetchDatabases;
11
+ private __createDatabase;
12
+ private __prepareDatabases;
13
+ private __prepareDatabase;
14
+ private __prepareDatabaseInner;
14
15
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "vona-module-a-version",
3
3
  "type": "module",
4
- "version": "5.0.39",
4
+ "version": "5.0.40",
5
5
  "vonaModule": {
6
6
  "fileVersion": 1,
7
7
  "dependencies": {},