Browse Source

🐛 fix(passenger): 修复乘客实体相关问题

- 修复乘客实体字段类型定义问题:为userId字段添加明确的integer类型
- 将乘客实体注册到TypeORM数据源配置中,确保数据库映射正确

📝 docs(story): 更新乘客功能开发文档

- 记录乘客实体字段类型修复和TypeORM注册的变更
- 更新配置文件列表,添加数据源配置文件记录
yourname 3 months ago
parent
commit
707e1c7b59

+ 3 - 0
docs/stories/005.005.story.md

@@ -238,6 +238,8 @@ const { data, isLoading, refetch } = useQuery({
 ### Debug Log References
 - 修复了API路由区分问题:将通用乘客API路由改为管理后台专用API路由
 - 更新了API客户端配置,添加管理后台乘客客户端
+- 修复了乘客实体字段类型定义问题:为userId字段添加明确的integer类型
+- 将乘客实体注册到TypeORM数据源配置中
 
 ### Completion Notes List
 1. ✅ 乘客实体和数据库表已创建
@@ -271,6 +273,7 @@ const { data, isLoading, refetch } = useQuery({
 
 **配置更新:**
 - `src/server/api.ts` - 主API配置(已注册管理后台乘客路由)
+- `src/server/data-source.ts` - 数据源配置(已注册乘客实体)
 
 **种子数据文件:**
 - `scripts/seed.ts` - 种子数据脚本(已添加乘客数据)

+ 3 - 2
src/server/data-source.ts

@@ -10,6 +10,7 @@ import { ActivityEntity } from "./modules/activities/activity.entity"
 import { RouteEntity } from "./modules/routes/route.entity"
 import { AreaEntity } from "./modules/areas/area.entity"
 import { LocationEntity } from "./modules/locations/location.entity"
+import { Passenger } from "./modules/passengers/passenger.entity"
 
 // 在测试环境下使用测试数据库配置
 const isTestEnv = process.env.NODE_ENV === 'test';
@@ -20,7 +21,7 @@ const dataSource = isTestEnv && testDatabaseUrl
   ? new DataSource({
       type: "postgres",
       url: testDatabaseUrl,
-      entities: [User, Role, File, ActivityEntity, RouteEntity, AreaEntity, LocationEntity],
+      entities: [User, Role, File, ActivityEntity, RouteEntity, AreaEntity, LocationEntity, Passenger],
       migrations: [],
       synchronize: true, // 测试环境总是同步schema
       dropSchema: true,  // 测试环境每次重新创建schema
@@ -33,7 +34,7 @@ const dataSource = isTestEnv && testDatabaseUrl
       username: process.env.DB_USERNAME || "postgres",
       password: process.env.DB_PASSWORD || "",
       database: process.env.DB_DATABASE || "postgres",
-      entities: [User, Role, File, ActivityEntity, RouteEntity, AreaEntity, LocationEntity],
+      entities: [User, Role, File, ActivityEntity, RouteEntity, AreaEntity, LocationEntity, Passenger],
       migrations: [],
       synchronize: process.env.DB_SYNCHRONIZE !== "false",
       logging: process.env.DB_LOGGING === "true",

+ 1 - 1
src/server/modules/passengers/passenger.entity.ts

@@ -14,7 +14,7 @@ export class Passenger implements ObjectLiteral {
   @PrimaryGeneratedColumn()
   id!: number;
 
-  @Column({ name: 'user_id' })
+  @Column({ name: 'user_id', type: 'integer' })
   userId!: number;
 
   @ManyToOne(() => UserEntity, (user) => user.id)