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

ops/2024/10/19 9:18:21/

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 各个命令执行以及生成的存放目录

javascript">'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文件添加注释 

javascript">'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.ppmy.cn/ops/126675.html

相关文章

HDU RSA

翻译成中文后&#xff1a; 思路&#xff1a;由题易得&#xff0c;d * e y * f ( n ) 1 ,且gcd ( e , f ( n ) ) 1,所以用扩展欧几里得求出 d &#xff0c;但要保证 d 是非负的&#xff0c;最有用快速幂求出每个字符即可。 #include<bits/stdc.h> using namespace std;…

【计算机网络 - 基础问题】每日 3 题(四十二)

✍个人博客&#xff1a;https://blog.csdn.net/Newin2020?typeblog &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞…

Java生死簿管理小系统(简单实现)

学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……&#xff09; 2、学会Oracle数据库入门到入土用法(创作中……&#xff09; 3、手把手教你开发炫酷的vbs脚本制作(完善中……&#xff09; 4、牛逼哄哄的 IDEA编程利器技巧(编写中……&#xff09; 5、面经吐血整理的 面试技…

几种HTTP请求参数的简单介绍

目录 一、概述 二、查询参数 三、JSON格式参数 四、x-www-form-urlencoded 五、multipart/form-data 一、概述 在 Web 开发中&#xff0c;前端需要与后端服务器进行数据交互&#xff0c;常见的方式是通过 HTTP 请求发送数据给后端。 本文章将介绍以下几种常用的请求参数…

cocos Creator + fairyGUI 快速入门

版本 Creator 3.8.x&#xff0c;FairyGUI 2022 大部分内容来自 https://en.fairygui.com/docs/sdk/creator 1.新建cocos项目&#xff0c;根目录运行 npm install --save fairygui-cc 引入 fairyGUI库 2.assets目录之外新建fairyGUI项目 3.fairyGUI中编辑UI 完成后发布到Creato…

上门按摩系统开发方案源码搭建

上门按摩系统开发方案 一、项目概述 上门按摩系统是一个连接按摩技师和客户的平台&#xff0c;旨在提供便捷、高效的上门按摩服务。通过该系统&#xff0c;客户可以轻松预约合适的按摩技师&#xff0c;并享受个性化的按摩服务。 二、系统功能模块 用户管理模块&#xff1a;…

一起搭WPF架构之livechart的MVVM使用介绍

一起搭WPF架构之livechart使用介绍 前言ModelViewModelView界面设计界面后端 效果总结 前言 简单的架构搭建已经快接近尾声了&#xff0c;考虑设计使用图表的形式将SQLite数据库中的数据展示出来。前期已经介绍了livechart的安装&#xff0c;今天就详细介绍一下livechart的使用…

awk命令学习记录

awk命令 awk命令 表示将一行数据按特定分割符分割成多列&#xff0c;而从而选取特定列数的数据&#xff0c;默认分割符为空格&#xff0c;连接符默认也是空格 // 1. 更换分割符 awk -F : 1.txt // 1.txt为你的文件名 // 2. 打印多列 awk {print $1,$2} // $0为整行&#xff…