MySQL 向 GraphQL 迁移

这篇博客介绍了如何利用GraphQL和Sequelize将MySQL数据库转换为GraphQL API。首先,它展示了如何使用sequelize-auto工具从MySQL创建数据模型,然后详细解释了如何设置Sequelize实例和定义数据模型。接着,通过graphql-sequelize库,将这些模型转换为GraphQL类型,并创建GraphQL查询。最后,展示了一个简单的Express服务器,用于运行这个GraphQL API并启用图形化界面GraphiQL。

GraphQL 是一个开源的图形数据库(基于 Node.js 实现), 中文文档: https://graphql.js.cool/

sequelize-auto 将 MySQL 数据库转变成模型

[node] sequelize-auto -h <host> -d <database> -u <user> -x [password] -p [port]  --dialect [dialect] -c [/path/to/config] -o [/path/to/models] -t [tableName] -C

参数:
  -h, --host        主机地址 [必须]
  -d, --database    数据名 [必须]
  -u, --user        用户名
  -x, --pass        密码
  -p, --port        端口号
  -c, --config      配置文件,参考: https://sequelize.readthedocs.org/en/latest/api/sequelize/
  -o, --output      输出目录
  -e, --dialect     数据库引擎: postgres, mysql, sqlite
  -t, --tables      需要导入的表
  -T, --skip-tables 需要排除的表
  -C, --camel       使用用驼峰命名法
  -n, --no-write    不需要写入文件
  -s, --schema      数据库结构

使用数据模型

这里是生成的一个示例模型:

/* jshint indent: 2 */

module.exports = function (sequelize, DataTypes) {
   
   
  return sequelize.define(
    'd_user',
    {
   
   
      uid: {
   
   
        type: DataTypes.INTEGER(11).UNSIGNED,
        allowNull: false,
        primaryKey: true
      },
      username: {
   
   
        type: DataTypes.STRING(16),
        allowNull: false,
        defaultValue: ''
      },
      mobile: {
   
   
        type: DataTypes.STRING(16),
        allowNull: false,
        defaultValue: ''
      },
      email: {
   
   
        type: DataTypes.STRING(32),
        allowNull: false,
        defaultValue: ''
      }
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Willin 老王躺平不摆烂

感谢你这么好看还这么慷慨

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值