33 lines
1.2 KiB
TypeScript
33 lines
1.2 KiB
TypeScript
import { TypeOrmModuleOptions } from '@nestjs/typeorm';
|
|
import { Guild } from './entities/guild.entity';
|
|
import { Channel } from './entities/channel.entity';
|
|
import { Message } from './entities/message.entity';
|
|
import { DmConversation } from './entities/dm-conversation.entity';
|
|
import { DmParticipant } from './entities/dm-participant.entity';
|
|
import { GuildRole } from './entities/guild-role.entity';
|
|
import { GuildMember } from './entities/guild-member.entity';
|
|
import { GuildMemberRole } from './entities/guild-member-role.entity';
|
|
import { IdempotencyRecord } from './entities/idempotency-record.entity';
|
|
|
|
export const buildTypeOrmConfig = (): TypeOrmModuleOptions => ({
|
|
type: 'mysql',
|
|
host: process.env.DB_HOST ?? 'mysql-guild',
|
|
port: Number(process.env.DB_PORT ?? 3306),
|
|
username: process.env.DB_USER ?? 'fabric',
|
|
password: process.env.DB_PASSWORD ?? 'fabric',
|
|
database: process.env.DB_NAME ?? 'fabric_guild',
|
|
entities: [
|
|
Guild,
|
|
Channel,
|
|
Message,
|
|
DmConversation,
|
|
DmParticipant,
|
|
GuildRole,
|
|
GuildMember,
|
|
GuildMemberRole,
|
|
IdempotencyRecord,
|
|
],
|
|
synchronize: (process.env.DB_SYNC ?? 'true') === 'true',
|
|
logging: (process.env.DB_LOGGING ?? 'false') === 'true',
|
|
});
|