nodejs sequelize-auto 生成model下划线字段名转驼峰定义 附带中文文档

国内能找到的资料太少,自己在英文文档找到资料,翻译并做分享

caseModel:原本表名bus_shop会自动生成定义 return sequelize.define('busShop', {
caseProp: 原字段名bus_name会自动生成定义 shopName: { field: 'shop_name'},
caseFile:生成js文件名变成busShop.js

配置增加参数

new SequelizeAuto(database,username, password, {
  // ...
  caseModel: 'c',
  caseProp: 'c',
  caseFile: 'c',
  // ...
});

参数:c|l|o|p|u
c = camelCase
l = lower_case
o = original (default)
p = PascalCase
u = UPPER_CASE

附带中文api文档

安装

npm install sequelize-auto

例子

注意:简写参数是给命令行用,配置new SequelizeAuto用全名,不要带–,看上面驼峰例子

sequelize-auto -o "./models" -d sequelize_auto_test -h localhost -u my_username -p 5432 -x my_password -e postgres

选项:
–help 帮助[boolean]
–version 显示版本号[boolean]
-h,–host数据库的IP/主机名。(字符串)
-d,–database数据库名称。(字符串)
-u,–user数据库用户名。(字符串)
-x,–pass数据库密码。如果没有提供一个密码,它将被交互式地请求终端。
-p,–port数据库的端口号(不是sqlite)。例:MySQL/MariaDB: 3306, Postgres: 5432, MSSQL: 1433(数量)
-c, --config sequize - auto选项和JSON文件的路径
Sequelize的构造函数"options"标志对象为定义:https://sequelize.org/master/class/lib/sequelize.js~Sequelize.html#instance-constructor-constructor(字符串)
-o,–output放置模型的目录。(字符串)
-e, --dialect 你正在使用的方言/引擎:postgres,Mysql, sqlite, MSSQL [string]
-a, --additional 包含模型选项的JSON文件的路径表)。参见项:https://sequelize.org/master/class/lib/model.js~Model.html#static-method-init(字符串)
–indentation 缩进的空格数[Number]
-t,–tables要导入[array]的表名的空格分隔
-T,–skiiptables要跳过的表名称用空格分隔[array]
–caseModel,–cm设置模型名的大小写:c|l|o|p|u
c = camelCase
l = lower_case
o = original (default)
p = PascalCase
u = UPPER_CASE
–caseProp,–cp设置属性名的大小写:c|l|o|p|u
–caseFile,–cf设置文件名的大小写:c|l|o|p|u|k
k = kebab-case

–noAlias 避免在关系中创建别名“as”属性(布尔)
–noInitModels 禁止写入init-models文件[boolean]
-n,–noWrite禁止将模型写入磁盘[boolean]
-s, --schema 检索表的数据库模式[string]
-v, --views 在生成的模型中包含数据库视图[boolean]
-l,–lang模型输出语言:es5|es6|esm|ts
es5 = es5 CJS模块(默认)
es6 = es6 CJS模块
esm = ES6 esm模块
ts = TypeScript [string]
–useDefine 对于es6|esm|ts使用’ sequel .define ‘而不是’ init ’
–singularize, --sg 从复数表中对模型和文件名进行奇异化的名字 [ 布尔)

sequelize-auto(英文文档链接)

猜你喜欢

转载自blog.csdn.net/a0405221/article/details/127015778