栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用Flask SQLAlchemy从SQLite切换到MySQL

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Flask SQLAlchemy从SQLite切换到MySQL

您所指向的教程显示了使用SQLAlchemy连接MySQL的正确方法。以下是您的代码,几乎没有更改:

我的假设是您的MySQL服务器在运行Flask的同一台计算机上运行,​​并且数据库名称为db_name。如果您的服务器不是同一台机器,请将服务器IP替换为

localhost

from flask import Flaskfrom flask.ext.sqlalchemy import SQLAlchemyapp = Flask(__name__)app.config['SQLALCHEMY_DATAbase_URI'] = 'mysql://username:password@localhost/db_name'db = SQLAlchemy(app)class User(db.Model):    id = db.Column(db.Integer, primary_key=True)    username = db.Column(db.String(80), unique=True)    email = db.Column(db.String(120), unique=True)    def __init__(self, username, email):        self.username = username        self.email = email    def __repr__(self):        return '<User %r>' % self.usernameadmin = User('admin', 'admin@example.com')db.create_all() # In case user table doesn't exists already. Else remove it.db.session.add(admin)db.session.commit() # This is needed to write the changes to databaseUser.query.all()User.query.filter_by(username='admin').first()

我偶然发现

SQLAlchemy
mqsqldb
)使用的默认驱动程序在我的虚拟环境中没有为我编译。因此,我选择了具有完整python实现的MySQL驱动程序
pymysql
。使用安装后
pipinstall pymysql
,SQLALCHEMY_DATAbase_URI将更改为:

app.config['SQLALCHEMY_DATAbase_URI'] = 'mysql+pymysql://username:password@localhost/db_name'

使用像SQLAlchemy这样的ORM的目的是,在大多数情况下,您可以使用几乎没有变化的其他数据库。所以,我的回答是。您应该能够使用sqlite代码将MySQL与上面的代码中映射的URI一起使用。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/392861.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号