美文网首页
2019-05-16 MariaDB by RESTful AP

2019-05-16 MariaDB by RESTful AP

作者: 浪尖的游鱼 | 来源:发表于2019-05-16 10:35 被阅读0次

    现在越来越多的大中小型公司想摆脱Oracle了,但是现在对ORDS的依赖较强,而似乎MariaDB并没有非常好的官方解决方案。

    找!

    在大浪淘沙中,基本发现,在做这方面适配的主要领军人物有PHP和Python。鉴于现在内部主要使用的网络框架是flask,那么不多说就这个方向。
    很快,就发现了Flask-Restless
    虽然说Flask-Restless是基于SQLAlchemy,但是普通的数据库结构我们也可以定义成基于ORM处理,因为一般来说借助RESTful一般只是为了数据存储和数据查询,在此基础上基本可以忽略ORM的对象特性。但是这一点也给了我们拓展开发的可能性。

    测试

    #环境不多说了
    #测试用
    #!/usr/bin/python3
    # -*- coding:utf-8 -*-
    from flask import Flask
    from flask_sqlalchemy import SQLAlchemy
    from flask_restless import APIManager
    
    app = Flask(__name__)
    app.config['DEBUG'] = True
    SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:721126@0.0.0.0:3306/resttest?charset=utf8mb4'
    app.config['SQLALCHEMY_DATABASE_URI'] = SQLALCHEMY_DATABASE_URI
    
    db = SQLAlchemy(app)
    manager = APIManager(app, flask_sqlalchemy_db=db)
    #对象
    class Test(db.Model):
        __tablename__ = 'test'
        id = db.Column(db.BIGINT, primary_key=True)
        name = db.Column(db.String(255), default="", doc='名称')
        state = db.Column(db.INT, default="", doc='状态')
        text = db.Column(db.String(1000), default="", doc='说明')
    
    
    manager.create_api(Test, methods=['GET', 'POST', 'PUT', 'DELETE'])
    
    app.run()
    
    #测试
    > curl -X POST localhost:5000/api/test -H "Content-Type:application/json" -d '{"id":"6","name":"cpf","state":"0","text":"加油"}'
    

    可能的功能拓展

    此项目还在测试阶段,但看手册功能还是完善的。其实主要的点就是要去接触ORM。等多学学鱼再出来装模做样。

    相关文章

      网友评论

          本文标题:2019-05-16 MariaDB by RESTful AP

          本文链接:https://www.haomeiwen.com/subject/vdyaoqtx.html