Skip to content

Commit

Permalink
feat: accept sequelize options on create instance
Browse files Browse the repository at this point in the history
  • Loading branch information
Victor Korzunin committed Sep 11, 2021
1 parent f1b5730 commit d509e78
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 12 deletions.
13 changes: 7 additions & 6 deletions plop/index.ts.hbs
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import { Sequelize } from 'sequelize';
import { Options, Sequelize } from 'sequelize';
import { tryLoadEnvs } from '@prisma/sdk';
import { mergeDeepRight } from 'ramda';
import path from 'path';

import { findSync } from './utils';
import config from './config.json';
import * as models from './models';

const dirname = findSync(process.cwd(), ['{{relativeOutputDir}}', '{{slsRelativeOutputDir}}'], ['d'], ['d'], 1)[0] || __dirname;

import * as models from './models';

const loadedEnv = tryLoadEnvs({
rootEnvPath: config.relativeEnvPaths.rootEnvPath && path.resolve(dirname, config.relativeEnvPaths.rootEnvPath),
schemaEnvPath: config.relativeEnvPaths.schemaEnvPath && path.resolve(dirname, config.relativeEnvPaths.schemaEnvPath),
Expand All @@ -18,14 +18,15 @@ const databaseUrl = config.datasource.url.fromEnvVar
? env[config.datasource.url.fromEnvVar]
: config.datasource.url.value;

export const createInstance = async () => {
const sequelize = new Sequelize(databaseUrl, {
ssl: true,
export const createSequelizeInstance = async (options?: Options) => {
const withDefaults = mergeDeepRight({
define: {
freezeTableName: true,
},
});

const sequelize = new Sequelize(databaseUrl, withDefaults(options ?? {}));

Object.keys(models).forEach((model) => {
models[model].initialize?.(sequelize);
models[model].associate?.(models);
Expand Down
13 changes: 7 additions & 6 deletions prisma/sequelize/index.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import { Sequelize } from 'sequelize';
import { Options, Sequelize } from 'sequelize';
import { tryLoadEnvs } from '@prisma/sdk';
import { mergeDeepRight } from 'ramda';
import path from 'path';

import { findSync } from './utils';
import config from './config.json';
import * as models from './models';

const dirname = findSync(process.cwd(), ['prisma/sequelize', 'sequelize'], ['d'], ['d'], 1)[0] || __dirname;

import * as models from './models';

const loadedEnv = tryLoadEnvs({
rootEnvPath: config.relativeEnvPaths.rootEnvPath && path.resolve(dirname, config.relativeEnvPaths.rootEnvPath),
schemaEnvPath: config.relativeEnvPaths.schemaEnvPath && path.resolve(dirname, config.relativeEnvPaths.schemaEnvPath),
Expand All @@ -18,14 +18,15 @@ const databaseUrl = config.datasource.url.fromEnvVar
? env[config.datasource.url.fromEnvVar]
: config.datasource.url.value;

export const createInstance = async () => {
const sequelize = new Sequelize(databaseUrl, {
ssl: true,
export const createSequelizeInstance = async (options?: Options) => {
const withDefaults = mergeDeepRight({
define: {
freezeTableName: true,
},
});

const sequelize = new Sequelize(databaseUrl, withDefaults(options ?? {}));

Object.keys(models).forEach((model) => {
models[model].initialize?.(sequelize);
models[model].associate?.(models);
Expand Down

0 comments on commit d509e78

Please sign in to comment.