- Install Mayajs Sql plugin
npm i @mayajs/sql
- Install Sequelize. Mayajs uses sequelize as an ORM.
npm install --save sequelize
You'll also have to manually install the driver for your database of choice:
# One of the following:
$ npm install --save pg pg-hstore # Postgres
$ npm install --save mysql2
$ npm install --save mariadb
$ npm install --save sqlite3
$ npm install --save tedious # Microsoft SQL Server
This will creates a MySql Database that will be consume on AppModule class. It accepts an object of settings for mysql connection. This database will be consume by Mayajs in compilation and automatically connects the database when the start
function is called.
Import
import { Sql } from "@mayajs/sql";
Implementation
Sql({
name: "database-name",
options: {
database: "sql-database",
username: "sql-username",
password: "sql-password",
options: {
host: "localhost",
dialect: "mysql" /* one of 'mariadb' | 'postgres' | 'mssql' */,
},
},
schemas: [
sample, // Sequelize Schema here
],
});
Adding Sql
on App Decorator
import Sql from "./databases/sql";
@App({
databases: [Sql],
})
export class AppModule {}
An interface for table fields. Can be used when creating tables for type checking. Every Schema is an object of fields. Each field has its type
and options
.
Import
import { Schema } from "@mayajs/sql";
Implementation
import { DataTypes } from "sequelize";
import { SqlModel } from "@mayajs/sql";
const schema = {
name: {
type: DataTypes.STRING,
allowNull: false,
},
};
export default SqlModel("User", schema, {});
Check out live examples for more info.
See collaborating guides here.
Author and maintainer Mac Ignacio