@nestjs/typeorm#TypeOrmModuleOptions TypeScript Examples
The following examples show how to use
@nestjs/typeorm#TypeOrmModuleOptions.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ormconfig.service.ts From nestjs-api-example with MIT License | 6 votes |
createTypeOrmOptions(): TypeOrmModuleOptions {
return {
type: this.configService.get('DB_TYPE') as any,
host: this.configService.get('DB_HOST'),
port: parseInt(this.configService.get('DB_PORT')) || 3306,
username: this.configService.get('DB_USERNAME'),
password: this.configService.get('DB_PASSWORD'),
database: this.configService.get('DB_NAME'),
entities: [__dirname + '/../../**/*.entity{.ts,.js}'],
synchronize: this.configService.isEnv('development'),
logging: this.configService.isEnv('development'),
};
}
Example #2
Source File: user.e2e-spec.ts From nestjs-api-example with MIT License | 6 votes |
createTypeOrmOptions(): TypeOrmModuleOptions {
return {
type: 'sqlite',
database: ':memory:',
synchronize: true,
dropSchema: true,
entities: ['src/api/**/*.entity.ts'],
};
}
Example #3
Source File: ormconfig.ts From domain-driven-hexagon with MIT License | 6 votes |
typeormConfig: TypeOrmModuleOptions = {
type: 'postgres',
host: get('DB_HOST')
.required()
.asString(),
port: get('DB_PORT')
.required()
.asIntPositive(),
username: get('DB_USERNAME')
.required()
.asString(),
password: get('DB_PASSWORD')
.required()
.asString(),
database: get('DB_NAME')
.required()
.asString(),
entities: [],
autoLoadEntities: true,
connectTimeoutMS: 2000,
logging: ['error', 'migration', 'schema'],
}
Example #4
Source File: config.ts From nest_transact with MIT License | 6 votes |
static typeOrmConfig: TypeOrmModuleOptions = {
type: Config.dbType,
host: 'localhost',
port: Config.dbPort,
username: Config.dbUsername,
password: Config.dbPassword,
database: Config.dbName,
entities: [`${__dirname}/**/*.model{.ts,.js}`],
logging: Config.dbLogLevel,
synchronize: true,
} as TypeOrmModuleOptions;
Example #5
Source File: typeorm.config.ts From nest-js-quiz-manager with MIT License | 6 votes |
typeOrmConfig: TypeOrmModuleOptions = {
type: 'mysql',
host: process.env.DB_HOST,
port: parseInt(process.env.DB_PORT, 10),
username: process.env.DB_USERNAME,
database: process.env.DB_NAME,
password: process.env.DB_PASSWORD,
entities: [__dirname + '/../**/*.entity.{js,ts}'],
migrations: [__dirname + '/../database/migrations/*{.ts,.js}'],
cli: {
migrationsDir: __dirname + '/../database/migrations',
},
extra: {
charset: 'utf8mb4_unicode_ci',
},
synchronize: false,
logging: true,
}
Example #6
Source File: config.ts From test with BSD 3-Clause "New" or "Revised" License | 6 votes |
config: TypeOrmModuleOptions = {
type: 'postgres',
uuidExtension: 'pgcrypto',
host: process.env.DB_HOST || 'db',
database: process.env.DB_NAME || 'db',
username: process.env.DB_USERNAME || 'postgres',
password: process.env.DB_PASSWORD || 'password',
entities: [User],
migrations,
migrationsRun: true,
synchronize: false,
logging: false,
cli: {
migrationsDir: 'src/migrations',
},
}
Example #7
Source File: database.config.ts From nestjs-starter with MIT License | 6 votes |
function typeormModuleOptions(): TypeOrmModuleOptions {
return {
type: 'postgres',
host: process.env.DATABASE_HOST,
port: parseInt(process.env.DATABASE_PORT) || 5432,
username: process.env.POSTGRES_USER,
password: process.env.POSTGRES_PASSWORD,
database: process.env.POSTGRES_DB,
entities: [__dirname + '../../**/**/*entity{.ts,.js}'],
autoLoadEntities: true,
// We are using migrations, synchronize should be set to false.
synchronize: Boolean(process.env.DATABASE_SYNC) || false,
// Run migrations automatically,
// you can disable this if you prefer running migration manually.
migrationsRun: false,
logging: Boolean(process.env.DATABASE_LOGGING) || true,
logger: 'file',
// Allow both start:prod and start:dev to use migrations
// __dirname is either dist or src folder, meaning either
// the compiled js in prod or the ts in dev.
migrations: [__dirname + '/migrations/**/*{.ts,.js}'],
cli: {
// Location of migration should be inside src folder
// to be compiled into dist/ folder.
migrationsDir: 'src/migrations',
},
};
}
Example #8
Source File: database.module.ts From nestjs-starter with MIT License | 6 votes |
@Module({
imports: [
TypeOrmModule.forRootAsync({
useFactory: (configService: ConfigService) => configService.get<TypeOrmModuleOptions>(CONFIG_DB_CONFIG),
inject: [ConfigService],
}),
],
})
export class DatabaseModule {}
Example #9
Source File: typeorm.config.ts From pknote-backend with GNU General Public License v3.0 | 6 votes |
typeOrmConfig: TypeOrmModuleOptions = {
type: dbConfig.type,
host: process.env.DB_HOST || dbConfig.host,
port: process.env.DB_PORT || dbConfig.port,
username: process.env.DB_USERNAME || dbConfig.username,
password: process.env.DB_PASSWORD || dbConfig.password,
database: process.env.DB_NAME || dbConfig.database,
entities: [entities, srcPath],
synchronize: process.env.TYPEORM_SYNC || dbConfig.synchronize,
logging: ['error'],
autoLoadEntities: true,
}
Example #10
Source File: typeorm.config.ts From nest-js-quiz-manager with MIT License | 5 votes |
typeOrmAsyncConfig: TypeOrmModuleAsyncOptions = {
imports: [ConfigModule],
inject: [ConfigService],
useFactory: async (): Promise<TypeOrmModuleOptions> => {
return {
type: 'mysql',
host: process.env.DB_HOST,
port: parseInt(process.env.DB_PORT, 10),
username: process.env.DB_USERNAME,
database: process.env.DB_NAME,
password: process.env.DB_PASSWORD,
entities: [__dirname + '/../**/*.entity.{js,ts}'],
migrations: [__dirname + '/../database/migrations/*{.ts,.js}'],
cli: {
migrationsDir: __dirname + '/../database/migrations',
},
extra: {
charset: 'utf8mb4_unicode_ci',
},
synchronize: false,
logging: true,
};
},
}
Example #11
Source File: config.service.ts From aqualink-app with MIT License | 5 votes |
// eslint-disable-next-line class-methods-use-this
public getTypeOrmConfig(): TypeOrmModuleOptions {
return {
...dbConfig,
};
}
Example #12
Source File: app.imports.ts From api with GNU Affero General Public License v3.0 | 5 votes |
imports = [
ConsoleModule,
HttpModule.register({
timeout: 5000,
maxRedirects: 10,
}),
ServeStaticModule.forRoot({
rootPath: join(__dirname, '..', 'public'),
exclude: ['/graphql'],
}),
ConfigModule.forRoot({
load: [
() => {
return {
LOCALES_PATH: join(process.cwd(), 'locales'),
SECRET_KEY: process.env.SECRET_KEY || crypto.randomBytes(20).toString('hex'),
}
},
],
}),
JwtModule.registerAsync({
imports: [ConfigModule],
inject: [ConfigService],
useFactory: (configService: ConfigService): JwtModuleOptions => ({
secret: configService.get<string>('SECRET_KEY'),
signOptions: {
expiresIn: '4h',
},
}),
}),
LoggerModule.forRoot(LoggerConfig),
GraphQLModule.forRoot<ApolloDriverConfig>({
debug: process.env.NODE_ENV !== 'production',
definitions: {
outputAs: 'class',
},
driver: ApolloDriver,
sortSchema: true,
introspection: process.env.NODE_ENV !== 'production',
playground: process.env.NODE_ENV !== 'production',
installSubscriptionHandlers: true,
autoSchemaFile: join(process.cwd(), 'src/schema.gql'),
// to allow guards on resolver props https://github.com/nestjs/graphql/issues/295
fieldResolverEnhancers: [
'guards',
'interceptors',
],
resolverValidationOptions: {
},
context: ({ req, connection }) => {
if (!req && connection) {
const headers: IncomingHttpHeaders = {}
Object.keys(connection.context).forEach(key => {
headers[key.toLowerCase()] = connection.context[key]
})
return {
req: {
headers,
} as Request,
}
}
return { req }
},
}),
TypeOrmModule.forRootAsync({
imports: [ConfigModule],
inject: [ConfigService],
useFactory: (configService: ConfigService): TypeOrmModuleOptions => {
const type: any = configService.get<string>('DATABASE_DRIVER', 'sqlite')
let migrationFolder: string
let migrationsTransactionMode: 'each' | 'none' | 'all' = 'each'
switch (type) {
case 'cockroachdb':
case 'postgres':
migrationFolder = 'postgres'
break
case 'mysql':
case 'mariadb':
migrationFolder = 'mariadb'
break
case 'sqlite':
migrationFolder = 'sqlite'
migrationsTransactionMode = 'none'
break
default:
throw new Error('unsupported driver')
}
return ({
name: 'ohmyform',
synchronize: false,
type,
url: configService.get<string>('DATABASE_URL'),
database: type === 'sqlite' ? configService.get<string>('DATABASE_URL', 'data.sqlite').replace('sqlite://', '') : undefined,
ssl: configService.get<string>('DATABASE_SSL', 'false') === 'true' ? { rejectUnauthorized: false } : false,
entityPrefix: configService.get<string>('DATABASE_TABLE_PREFIX', ''),
logging: configService.get<string>('DATABASE_LOGGING', 'false') === 'true',
entities,
migrations: [`${__dirname}/**/migrations/${migrationFolder}/**/*{.ts,.js}`],
migrationsRun: configService.get<boolean>('DATABASE_MIGRATE', true),
migrationsTransactionMode,
})
},
}),
TypeOrmModule.forFeature(entities),
MailerModule.forRootAsync({
imports: [ConfigModule],
inject: [ConfigService],
useFactory: (configService: ConfigService) => ({
transport: configService.get<string>('MAILER_URI', 'smtp://localhost:1025'),
defaults: {
from: configService.get<string>('MAILER_FROM', 'OhMyForm <no-reply@localhost>'),
},
}),
}),
]