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

微服务moleculer03

1. Moleculer 目前支持SQLite,MySQL,MariaDB,PostgreSQL,MSSQL等数据库,这里以mysql为例

2. package.json 增加mysql依赖

"mysql2": "^2.3.3",
"sequelize": "^6.21.3",
"moleculer-db-adapter-sequelize": "^0.2.15",
"moleculer-db": "^0.8.24",
npm install moleculer-db-adapter-sequelize sequelize --save
npm install moleculer-db --save

 3.然后执行对应数据库的命令

SQLitenpm install sqlite3 --save# For MySQL
npm install mysql2 --save# For MariaDB
npm install mariadb --save# For PostgreSQLnpm install pg pg-hstore --save# For MSSQL
$npm install tedious --save
4.服务增加如下操作:
const { ServiceBroker } = require("moleculer");
const DbService = require("moleculer-db");
const SqlAdapter = require("moleculer-db-adapter-sequelize");
const Sequelize = require("sequelize");
const broker = new ServiceBroker();
/*** @typedef {import('moleculer').ServiceSchema} ServiceSchema Moleculer's Service Schema* @typedef {import('moleculer').Context} Context Moleculer's Context*/broker.createService({name: "products",mixins: [DbService],adapter: new SqlAdapter('test', 'root', 'root', {host: 'localhost',dialect: 'mysql' ,pool: {max: 5,min: 0,idle: 10000}}),model: {name: "products",define: {title: Sequelize.STRING,content: Sequelize.TEXT,votes: Sequelize.INTEGER,author: Sequelize.INTEGER,status: Sequelize.BOOLEAN},options: {}},
});broker.start()// Create a new post.then(() => broker.call("products.create", {title: "My first post",content: "Lorem ipsum...",votes: 0})).then(() => broker.call("products.find").then(console.log));
5.启动项目: 数据库自动创表products,并插入了一条数据,可以查询出来

6.具体的crud 可以参考Sequelize | Feature-rich ORM for modern TypeScript & JavaScript 实现,这里就不详细介绍了

http://www.lryc.cn/news/180200.html

相关文章:

  • [React] react-router-dom的v5和v6
  • Linux命令(91)之mv
  • C++ 强制类型转换(int double)、查看数据类型、自动决定类型、三元表达式、取反、
  • Android自动化测试之MonkeyRunner--从环境构建、参数讲解、脚本制作到实战技巧
  • Neural Insights for Digital Marketing Content Design 阅读笔记
  • BI神器Power Query(26)-- 使用PQ实现表格多列转换(2/3)
  • 中间件中使用到的设计模式
  • 运用动态内存实现通讯录(增删查改+排序)
  • 基于Cplex的人员排班问题建模求解(JavaAPI)
  • 理解Go中的数据类型
  • 【人工智能导论】线性回归模型
  • 十大常见排序算法详解(附Java代码实现和代码解析)
  • 在Ubuntu上通过Portainer部署微服务项目
  • 软件测试基础学习
  • 移动手机截图,读取图片尺寸
  • 服务器应用程序不可用的原因是什么引起的
  • 使用SPY++查看窗口信息去排查客户端UI软件问题
  • Flink CDC MySQL同步MySQL错误记录
  • 深入了解 Linux 中的 AWK 命令:文本处理的瑞士军刀
  • 【RuoYi项目分析】网关的AuthFilter完成“认证”,注意是认证而不是权限
  • excel将文件夹下面的表格文件指定名称的sheet批量导出到指定文件中,并按照文件名保存在新文件的不同sheet中
  • IIS管理器无法打开。启动后,在任务栏中有,但是窗口不见了
  • 使用VBA实现快速模糊查询数据
  • spring boot flowable多人前加签
  • 结构体运算符重载
  • 幽默直观的文档作者注释
  • 前端开发网站推荐
  • 【C语言】通讯录管理系统(保姆级教程+内含源码)
  • python自动解析301、302重定向链接
  • 【未解决问题】opencv 交叉编译 ffmpeg选项始终为NO