Преглед на файлове

♻️ refactor(server): 重构数据库初始化逻辑

- 将数据库初始化代码从中间件移至应用启动阶段
- 移除/api/v1/*路径的数据库初始化中间件
- 确保应用启动时完成数据库连接初始化,提高性能并避免重复初始化
yourname преди 2 месеца
родител
ревизия
98a51f3622
променени са 1 файла, в които са добавени 20 реда и са изтрити 20 реда
  1. 20 20
      packages/server/src/index.ts

+ 20 - 20
packages/server/src/index.ts

@@ -22,6 +22,23 @@ import { MerchantMt } from '@d8d/merchant-module-mt'
 import { OrderMt, OrderGoodsMt, OrderRefundMt } from '@d8d/orders-module-mt'
 import { SupplierMt } from '@d8d/supplier-module-mt'
 
+if(!AppDataSource || !AppDataSource.isInitialized ) {
+  initializeDataSource([
+    // 已实现的包实体
+    UserEntityMt, RoleMt, FileMt,
+    TenantEntityMt,
+    AreaEntityMt, PaymentMtEntity,
+    Advertisement, AdvertisementType,
+    DeliveryAddressMt,
+    GoodsMt, GoodsCategoryMt,
+    MerchantMt,
+    OrderMt, OrderGoodsMt, OrderRefundMt,
+    SupplierMt, SystemConfigMt
+  ])
+  await AppDataSource.initialize();
+  console.log('数据库初始化完成')
+}
+
 const app = new Hono();
 const api = new OpenAPIHono<AuthContext>()
 
@@ -34,26 +51,9 @@ api.use('/api/v1/*', async (_, next) => {
 })
 
 // 数据库初始化中间件
-api.use('/api/v1/*', async (c, next) => {
-  if(!AppDataSource || !AppDataSource.isInitialized) {
-    initializeDataSource([
-      // 已实现的包实体
-      UserEntityMt, RoleMt, FileMt,
-      TenantEntityMt,
-      AreaEntityMt, PaymentMtEntity,
-      Advertisement, AdvertisementType,
-      DeliveryAddressMt,
-      GoodsMt, GoodsCategoryMt,
-      MerchantMt,
-      OrderMt, OrderGoodsMt, OrderRefundMt,
-      SupplierMt, SystemConfigMt
-    ])
-    await AppDataSource.initialize();
-    console.log('数据库初始化完成')
-  }
-  
-  await next();
-})
+// api.use('/api/v1/*', async (c, next) => {
+//   await next();
+// })
 
 // 注册Bearer认证方案
 api.openAPIRegistry.registerComponent('securitySchemes','bearerAuth',{