Gathering detailed insights and metrics for egg-sequelize-auto-zm
Gathering detailed insights and metrics for egg-sequelize-auto-zm
Gathering detailed insights and metrics for egg-sequelize-auto-zm
Gathering detailed insights and metrics for egg-sequelize-auto-zm
npm install egg-sequelize-auto-zm
Typescript
Module System
Node Version
NPM Version
Cumulative downloads
Total Downloads
Last Day
0%
NaN
Compared to previous day
Last Week
0%
NaN
Compared to previous week
Last Month
0%
NaN
Compared to previous month
Last Year
0%
NaN
Compared to previous year
Automatically generate models for egg-sequelize via the command line.
NOTE: Egg-Sequelize-Auto is based on Sequelize-Auto.
这个包基于 egg-sequelize-auto 主要解决了主键没有自动递增和备注不自动同步的 bug
更新版本 1.0.2 本版本解决不同步数据表备注的问题 更新版本 1.0.3 本版本解决同时生成多个文件时,部分数据表备注不同步的问题
Sequelize-Auto
is a tool used to generate models for Sequelize, which based on old Sequelize
version 3.x.
Now, Sequelize v4
has breaking changes, we need a latest version of Sequelize-Auto
which works in Egg.
So we upgraded Sequelize-Auto
to Sequelize
v4 and adjusted it for egg-sequelize.
npm install -g egg-sequelize-auto
You will need to install the correct dialect binding globally before using egg-sequelize-auto.
Example for MySQL/MariaDB
npm install -g mysql2
Example for Postgres
npm install -g pg pg-hstore
Example for Sqlite3
npm install -g sqlite3
Example for MSSQL
npm install -g mssql
When installed egg-sequelize-auto
, you could use both egg-sequelize-auto
and sequlize-auto
.
Usages are all the same, see sequelize-auto's usage
egg-sequelize-auto -o "./models" -d test -h localhost -u root -p root -x my_password -e mysql
Produces a file/files such as ./app/model/users.js which looks like:
/* indent size: 2 */
module.exports = app => {
const DataTypes = app.Sequelize;
const Model = app.model.define('Users', {
id: {
type: DataTypes.INTEGER(11),
allowNull: false,
primaryKey: true,
autoIncrement: true
},
username: {
type: DataTypes.STRING,
allowNull: true
},
touchedAt: {
type: DataTypes.DATE,
allowNull: true
},
aNumber: {
type: DataTypes.INTEGER(11),
allowNull: true
},
bNumber: {
type: DataTypes.INTEGER(11),
allowNull: true
},
validateTest: {
type: DataTypes.INTEGER(11),
allowNull: true
},
validateCustom: {
type: DataTypes.STRING,
allowNull: false
},
dateAllowNullTrue: {
type: DataTypes.DATE,
allowNull: true
},
defaultValueBoolean: {
type: DataTypes.BOOLEAN,
allowNull: true,
defaultValue: '1'
},
createdAt: {
type: DataTypes.DATE,
allowNull: false
},
updatedAt: {
type: DataTypes.DATE,
allowNull: false
}
}, {
tableName: 'Users',
freezeTableName: true
});
Model.associate = function (){
}
return Model;
};
For the -c, --config
option the following JSON/configuration parameters are defined by Sequelize's options
flag within the constructor. For more info:
http://docs.sequelizejs.com/class/lib/sequelize.js~Sequelize.html#instance-constructor-constructor
1const EggSequelizeAuto = require('egg-sequelize-auto') 2const auto = new EggSequelizeAuto'database', 'user', 'pass'); 3 4// start 5auto.run(function (err) { 6 if (err) throw err; 7 8 console.log(auto.tables); // table list 9 console.log(auto.foreignKeys); // foreign key list 10}); 11 12// With options: 13const auto = new EggSequelizeAuto('database', 'user', 'pass', { 14 host: 'localhost', 15 dialect: 'mysql'|'mariadb'|'sqlite'|'postgres'|'mssql', 16 directory: false, // prevents the program from writing to disk 17 port: 'port', 18 additional: { 19 timestamps: false 20 //... 21 }, 22 tables: ['table1', 'table2', 'table3'] 23 //... 24})
No vulnerabilities found.
No security vulnerabilities found.