README
Sequelize Connection
Sequelize Connection support us to connect to database.
Functions:
/**
* @method connectWithSSL Connect to batabase by ssl
* @param params IConnectionProductionMode
* @returns Sequelize
*/
function connectWithSSL(params: IConnectionProductionMode): Sequelize;
/**
* @method connectWithOptions Connect to database with options
* @param params IConnectionDevelopmentMode
* @returns Sequelize
*/
function connectWithOptions(params: IConnectionDevelopmentMode): Sequelize;
/**
* @method connect Create a connection to database by Sequelize
* @param params IConnection
* @returns Sequelize
*/
function connect(params: IConnection): Sequelize;
/**
* @method dialectConvert Convert a string to Dialect
* @param dialect string | undefined
* @returns Dialect
*/
function dialectConvert(dialect: string | undefined): Dialect;
Example:
// ES6
import { connect, connectWithSSL, connectWithOptions } from "sequelize-connection";
import { Sequelize } from "sequelize";
import { ConnectionDevelopmentENVType, ConnectionProductionENVType, ConnectionType } from "sequelize-connection/dist/lib/interface";
// Variables of production environment
const databaseURL = process.env.DATABASE_URL || "your-database-url";
const connection: IConnectionProductionMode = {
databaseURL: databaseURL
};
const sequelize = connectWithSSL(connection);
......
// Variables of development environment
const database = process.env.DATABASE || "your-database";
const user = process.env.USER || "postgres";
const password = process.env.PASSWORD || "your-password ";
const host = process.env.HOST || "0.0.0.0";
const dialect = process.env.DIALECT || "postgres";
const databasePort = process.env.DATABASE_PORT || "5432";
const connection: IConnectionDevelopmentMode = {
database: database,
username: user,
password: password,
dialect: dialect,
host: host,
port: databasePort
};
const sequelize = connectWithOptions(connection);
......
// Variables of production environment
const databaseURL = process.env.DATABASE_URL || "your-database-url";
// Variables of development environment
const database = process.env.DATABASE || "your-database";
const user = process.env.USER || "postgres";
const password = process.env.PASSWORD || "your-password ";
const host = process.env.HOST || "0.0.0.0";
const dialect = process.env.DIALECT || "postgres";
const databasePort = process.env.DATABASE_PORT || "5432";
const connection: IConnection = {
databaseURL: databaseURL,
database: database,
username: user,
password: password,
dialect: dialect,
host: host,
port: databasePort
};
const sequelize = connect(connection);
......
// Define model
sequelize.define("User",
{
id: { type: SMALLINT, primaryKey: true, autoIncrement: true },
username: { type: STRING, allowNull: false },
password: { type: STRING, allowNull: false }
}
);
// Sync models in database
(async () => {
await sequelize.sync();
await sequelize.models.User.create({ username: "admin@gmail.com", password: "acbxyz" });
})();