当前位置: 首页 > news >正文

eggjs sequelize egg-sequelize-auto自动从零生成一个数据表 自动创建model

sequelize egg-sequelize-auto整个过程还是有一些坑 包括兼容性问题  依赖安装问题  需要注意  缺少一个条件 包跑不起来 或使用体验很差

1. 全局安装插件 

pnpm install -g sequelize-cli  sequelize mysql2  egg-sequelize-auto

2. 执行命令创建 migrate迁移文件 以及 model文件

npx sequelize model:generate --name Activation --attributes activationCode:string,machineCode:string,activationVersion:string,email:string

2.1执行这个命令的前提是在根目录下创建.sequelizerc文件,告诉sequelize 各个命令执行以及生成的存放目录

'use strict';const path = require('path');module.exports = {config: path.join(__dirname, 'config/config.json'),'migrations-path': path.join(__dirname, 'database/migrations'),'seeders-path': path.join(__dirname, 'database/seeders'),'models-path': path.join(__dirname, 'app/model'),
};

注意 : 生成的model 很可能用不了  因为兼容的问题 

3.给自动生成的migrate文件添加注释 

'use strict';
/** @type {import('sequelize-cli').Migration} */
module.exports = {async up(queryInterface, Sequelize) {await queryInterface.createTable('Activations', {id: {allowNull: false,autoIncrement: true,primaryKey: true,type: Sequelize.INTEGER},activationCode: {type: Sequelize.STRING,comment: '激活码'},machineCode: {type: Sequelize.STRING,comment: '机器码'},activationVersion: {type: Sequelize.STRING,comment: '激活版本'},email: {type: Sequelize.STRING,comment: '邮箱'},createdAt: {allowNull: false,type: Sequelize.DATE},updatedAt: {allowNull: false,type: Sequelize.DATE}});},async down(queryInterface, Sequelize) {await queryInterface.dropTable('Activations');}
};

4. 运行 Sequelize 数据库迁移的命令

这个命令会根据migrate迁移文件 , 在mysql中生成对应的表

"db": "npx sequelize db:migrate"

这个时候运行eggjs项目 ,跑不起来可能是因为第二的兼容问题 ,可以删除model下的文件 执行第五步

5. 从现有的数据库表结构生成对应的 Sequelize model模型文件

"model": "egg-sequelize-auto -o ./app/model -d sqlapplestven -h mysql.sqlpub.com -u applestven -p 3306 -x 7At1P1IH9eV",


http://www.mrgr.cn/news/53166.html

相关文章:

  • FreeSWITCH mod_oreka 测试
  • 一个使用大模型进行分类的提示词示例
  • 戴尔电脑win11找不到D盘的解决办法
  • 访问器与Lambda函数
  • Python爬虫:自动化获取商品评论数据
  • 干部监督三色预警机制:为精细化管理及决策提供强力支撑
  • MATLAB支持的字体
  • vue3移动端可同时上传照片和视频的组件
  • 什么是GROW with SAP?
  • 如何降低采购成本?这几个采购策略给你答案
  • sql server 行转列及列转行
  • 内存卡提示需要格式化:高效数据恢复指南
  • 关于人工智能你不能不知道发展史
  • 滴水逆向三期笔记与作业——02C语言——12 指针(2)
  • 儿童鞋垫特殊哥
  • Google play开发者账号被封,申诉就有机会,别不信
  • 这家一汽集团供应商终止,分红超净利润一半,业绩有下滑趋势
  • 软件产品国际化:前后端及App多语言版本解决方案(超详细实现过程)
  • IEEE捡漏期刊!IF不高,但贵为中科院2区TOP刊,潜力巨大!
  • 布隆过滤器 不适用的场景