MySQL怎么向GraphQL迁移
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,本篇内容介绍了"MySQL怎么向GraphQL迁移"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Gr
千家信息网最后更新 2025年12月03日MySQL怎么向GraphQL迁移
本篇内容介绍了"MySQL怎么向GraphQL迁移"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
GraphQL 是一个开源的图形数据库(基于Node.js实现), 中文文档: https://graphql.js.cool/
sequelize-auto 将 MySQL 数据库转变成模型
[node] sequelize-auto -h-d -u -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: '' }, password: { type: DataTypes.STRING(32), allowNull: false, defaultValue: '' }, salt: { type: DataTypes.STRING(8), allowNull: false, defaultValue: '' }, updatedAt: { type: DataTypes.INTEGER(10).UNSIGNED, allowNull: false } }, { tableName: 'user' }); };创建数据库模型:
const Sequelize = require('sequelize'); const Db = new Sequelize('数据库名', '用户名', '密码', { host: 'localhost', dialect: 'mysql' }) const User = Db.define('user', { uid: { type: Sequelize.INTEGER(11).UNSIGNED, allowNull: false, primaryKey: true }, username: { type: Sequelize.STRING(16), allowNull: false, defaultValue: '' }, mobile: { type: Sequelize.STRING(16), allowNull: false, defaultValue: '' }, email: { type: Sequelize.STRING(32), allowNull: false, defaultValue: '' }, password: { type: Sequelize.STRING(32), allowNull: false, defaultValue: '' }, salt: { type: Sequelize.STRING(8), allowNull: false, defaultValue: '' } }, { tableName: 'user', // 取消默认的时间戳, 否则会报 createdAt 不存在错误 timestamps: false }); Db.sync(); module.exports = { Db, User };graphql-sequelize 转换 MySQL -> GraphQL 结构
const { GraphQLObjectType,GraphQLSchema,GraphQLList,GraphQLInt,GraphQLString } = require('graphql'); const { attributeFields, resolver } = require('graphql-sequelize'); const { Db, User } = require('./db'); userType = new GraphQLObjectType({ name: 'User', description: 'A user', fields: attributeFields(User) }); const Query = new GraphQLObjectType({ name: 'Query', description: 'Root query object', fields: () => { return { user: { type: new GraphQLList(userType), args: { uid: { type: GraphQLInt }, email: { type: GraphQLString } }, resolve(root, args) { return Db.models.user.findAll({ where: args }); } } }; } }); const Schema = new GraphQLSchema({ query: Query }); module.exports = Schema;启动服务器
const Express =require( 'express'); const GraphHTTP =require( 'express-graphql'); const Schema =require( './schema'); // Config const APP_PORT = 3000; // Start const app = Express(); // GraphQL app.use('/graphql', GraphHTTP({ schema: Schema, pretty: true, graphiql: true })); app.listen(APP_PORT, ()=> { console.log(`App listening on port ${APP_PORT}`);"MySQL怎么向GraphQL迁移"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
数据
数据库
模型
内容
密码
文件
更多
用户
用户名
知识
结构
输出
实用
学有所成
接下来
主机
参数
口号
困境
图形
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
cnki全文数据库怎么检索
网络安全渗透工程师难么
博图软件需要用到数据库吗
5G下的网络安全
伙聚网络技术有限公司
软件开发公司前景工资什么样
我的世界服务器权限怎么获得
初始化数据库讲解
服务器设置的ftp拒绝连接
寻甸创新软件开发市场报价
斑马网络技术面试
d525安装ubuntu服务器
数据库查询出姓名
建立数据库远程连接数据库
做服务器最厉害的公司
互联网公司服务器没了会怎么样
民生银行用什么数据库
成都系统软件开发哪家好
什么是测试服务器
软件开发是什么征收品目
公司管理oa软件开发
济南云游软件开发有限责任公司
java服务器通信
广东宇洋互联网科技有限公司
数据库增删改查语句基础实例
mac搭建ftp服务器
服务器备案信息查询
安全的加密传输数据库
移动互联网络技术
网络安全周 来历