MySQL怎么向GraphQL迁移
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,本篇内容介绍了"MySQL怎么向GraphQL迁移"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Gr
千家信息网最后更新 2025年01月31日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安全错误
数据库的锁怎样保障安全
as400服务器图片
深圳停车系统软件开发公司
枫叶里的牡丹花服务器怎么用
国家网络安全宣传周线上
软件开发的方法有哪两种
服务器堵车
中职计算机网络技术必考常考
国内中转 服务器
保罗视频软件开发
网络安全联络员培训会
jsp中如何写入数据库
电脑怎样连接服务器
湖北统一软件开发服务
网络安全周创新宣传活动
2021腾讯云服务器价格
电商网站需要具备的数据库
计算机网络技术基础吧
互联网公司和金融科技公司
郑州易虎网络技术有限公司
迪肯大学网络安全硕士
软件开发 能力地图
数据库执行出现表格
战地1没有bfban的服务器
网页上输入服务器的ip
网络安全周教育主题班会
网络安全古诗十首
岳阳口碑好的软件开发
软件开发者怎样提高编程能力
浪潮网络安全招聘
数据库归档修改