data-source.ts 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import "reflect-metadata"
  2. import { DataSource } from "typeorm"
  3. import process from 'node:process'
  4. // 实体类导入
  5. import { UserEntity as User } from "./modules/users/user.entity"
  6. import { Role } from "./modules/users/role.entity"
  7. import { File } from "./modules/files/file.entity"
  8. import { Company } from "./modules/silver-jobs/company.entity"
  9. import { Job } from "./modules/silver-jobs/job.entity"
  10. import { Application } from "./modules/silver-jobs/application.entity"
  11. import { Favorite } from "./modules/silver-jobs/favorite.entity"
  12. import { ViewRecord } from "./modules/silver-jobs/view-record.entity"
  13. import { CompanyImage } from "./modules/silver-jobs/company-image.entity"
  14. import { SilverUserProfile } from "./modules/silver-users/silver-user-profile.entity"
  15. import { SilverPoint } from "./modules/silver-users/silver-point.entity"
  16. import { SilverPointTransaction } from "./modules/silver-users/silver-point-transaction.entity"
  17. import { SilverTimeBank } from "./modules/silver-users/silver-time-bank.entity"
  18. import { TimeBankIntro } from "./modules/silver-users/time-bank-intro.entity"
  19. import { TimeBankCase } from "./modules/silver-users/time-bank-case.entity"
  20. import { TimeBankStats } from "./modules/silver-users/time-bank-stats.entity"
  21. import { SilverKnowledge } from "./modules/silver-users/silver-knowledge.entity"
  22. import { SilverKnowledgeCategory } from "./modules/silver-users/silver-knowledge-category.entity"
  23. import { SilverKnowledgeTag } from "./modules/silver-users/silver-knowledge-tag.entity"
  24. import { SilverKnowledgeTagRelation } from "./modules/silver-users/silver-knowledge-tag-relation.entity"
  25. import { SilverKnowledgeStats } from "./modules/silver-users/silver-knowledge-stats.entity"
  26. import { SilverKnowledgeInteraction } from "./modules/silver-users/silver-knowledge-interaction.entity"
  27. import { ElderlyUniversity } from "./modules/silver-users/elderly-university.entity"
  28. import { PolicyNews } from "./modules/silver-users/policy-news.entity"
  29. import { UserPreference } from "./modules/silver-users/user-preference.entity"
  30. import { SilverJob } from "./modules/silver-jobs/silver-job.entity"
  31. export const AppDataSource = new DataSource({
  32. type: "mysql",
  33. host: process.env.DB_HOST || "localhost",
  34. port: parseInt(process.env.DB_PORT || "3306"),
  35. username: process.env.DB_USERNAME || "root",
  36. password: process.env.DB_PASSWORD || "",
  37. database: process.env.DB_DATABASE || "d8dai",
  38. entities: [
  39. User, Role, File, Company, Job, Application, Favorite, ViewRecord, CompanyImage,
  40. SilverUserProfile, SilverPoint, SilverPointTransaction, SilverTimeBank,
  41. TimeBankIntro, TimeBankCase, TimeBankStats,
  42. SilverKnowledge, SilverKnowledgeCategory, SilverKnowledgeTag,
  43. SilverKnowledgeTagRelation, SilverKnowledgeStats, SilverKnowledgeInteraction,
  44. ElderlyUniversity, PolicyNews, UserPreference, SilverJob,
  45. ],
  46. migrations: [],
  47. synchronize: process.env.DB_SYNCHRONIZE !== "false",
  48. logging: process.env.DB_LOGGING === "true",
  49. });