-
Notifications
You must be signed in to change notification settings - Fork 0
/
mikro-orm.config.ts
64 lines (62 loc) · 3.23 KB
/
mikro-orm.config.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
// This file is referenced by the application as well as the migration CLI
// The CLI use case requires the direct and indirect imports to have a .js extension.
// Additionally, the imports can not use '~'
import dotenv from "dotenv";
import { type Options, PostgreSqlDriver } from '@mikro-orm/postgresql';
import { TsMorphMetadataProvider } from '@mikro-orm/reflection';
import { Migrator } from '@mikro-orm/migrations';
import AssumptionSchema from "./server/data/models/AssumptionSchema.js";
import ConstraintSchema from "./server/data/models/ConstraintSchema.js";
import EffectSchema from "./server/data/models/EffectSchema.js";
import EnvironmentComponentSchema from "./server/data/models/EnvironmentComponentSchema.js";
import FunctionalBehaviorSchema from "./server/data/models/FunctionalBehaviorSchema.js";
import GlossaryTermSchema from "./server/data/models/GlossaryTermSchema.js";
import HintSchema from "./server/data/models/HintSchema.js";
import InvariantSchema from "./server/data/models/InvariantSchema.js";
import JustificationSchema from "./server/data/models/JustificationSchema.js";
import LimitSchema from "./server/data/models/LimitSchema.js";
import NonFunctionalBehaviorSchema from "./server/data/models/NonFunctionalBehaviorSchema.js";
import ObstacleSchema from "./server/data/models/ObstacleSchema.js";
import OutcomeSchema from "./server/data/models/OutcomeSchema.js";
import PersonSchema from "./server/data/models/PersonSchema.js";
import ProductSchema from "./server/data/models/ProductSchema.js";
import SolutionSchema from "./server/data/models/SolutionSchema.js";
import StakeholderSchema from "./server/data/models/StakeholderSchema.js";
import UseCaseSchema from "./server/data/models/UseCaseSchema.js";
import UserStorySchema from "./server/data/models/UserStorySchema.js";
import SystemComponentSchema from "./server/data/models/SystemComponentSchema.js";
import OrganizationSchema from "./server/data/models/OrganizationSchema.js";
import AppUserOrganizationRoleSchema from "./server/data/models/AppUserOrganizationRoleSchema.js";
import AppUserSchema from "./server/data/models/AppUserSchema.js";
dotenv.config();
const config: Options = {
extensions: [Migrator],
driver: PostgreSqlDriver,
dbName: process.env.POSTGRES_DB!,
user: process.env.POSTGRES_USER!,
host: process.env.POSTGRES_HOST!,
password: process.env.POSTGRES_PASSWORD!,
port: parseInt(process.env.POSTGRES_PORT!),
// https://github.com/mikro-orm/mikro-orm/issues/303
driverOptions: {
connection: {
ssl: true
}
},
entities: [
AppUserSchema, AppUserOrganizationRoleSchema,
AssumptionSchema, ConstraintSchema, EffectSchema, EnvironmentComponentSchema,
FunctionalBehaviorSchema, GlossaryTermSchema, HintSchema, InvariantSchema,
JustificationSchema, LimitSchema, NonFunctionalBehaviorSchema, ObstacleSchema,
OrganizationSchema, OutcomeSchema, PersonSchema, ProductSchema, SolutionSchema,
StakeholderSchema, SystemComponentSchema, UseCaseSchema, UserStorySchema
],
seeder: {},
forceUtcTimezone: true,
metadataProvider: TsMorphMetadataProvider,
debug: process.env.NODE_ENV !== 'production',
migrations: {
transactional: true
}
};
export default config;