首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Flask中使用SQLAlchemy-Migrate与MySQL数据库

如何在Flask中使用SQLAlchemy-Migrate与MySQL数据库
EN

Stack Overflow用户
提问于 2014-10-14 07:44:49
回答 1查看 6.4K关注 0票数 3

我一直致力于在我的Flask应用程序中用MySQL数据库替换我的SQLite数据库。

以前,我一直使用Mega Flask Tutorial中的脚本通过SQLAlchemy-Migrate管理我的数据库创建和迁移。

似乎这些脚本开箱即用就与迁移不兼容,而且我真的找不到任何关于如何在MySQL中使用SQLAlchemy- MySQL的东西。

在使用MySQL进行开发时,你们通常如何处理模型和数据库迁移的更改?

代码语言:javascript
复制
#Config
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:tehnoose@localhost/app'
SQLALCHEMY_MIGRATE_REPO = os.path.join(basedir, 'db_repository')

#db_create.py
from migrate.versioning import api
from config import SQLALCHEMY_DATABASE_URI
from config import SQLALCHEMY_MIGRATE_REPO
from app import db
import os.path
db.create_all()
if not os.path.exists(SQLALCHEMY_MIGRATE_REPO):
    api.create(SQLALCHEMY_MIGRATE_REPO, 'database repository')
    api.version_control(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO)
else:
    api.version_control(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO, api.version(SQLALCHEMY_MIGRATE_REPO))

#Traceback

    Traceback (most recent call last):
  File "db_create.py", line 12, in <module>
    api.version_control(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO, api.ve
rsion(SQLALCHEMY_MIGRATE_REPO))
  File "C:\pyprojects\cc\flask\lib\site-packages\migrate\versioning\api.py", lin
e 133, in version
    repo = Repository(repository)
  File "C:\pyprojects\cc\flask\lib\site-packages\migrate\versioning\repository.p
y", line 77, in __init__
    self.verify(path)
  File "C:\pyprojects\cc\flask\lib\site-packages\migrate\versioning\repository.p
y", line 98, in verify
    raise exceptions.InvalidRepositoryError(path)
migrate.exceptions.InvalidRepositoryError: C:\pyprojects\cc\db_repository
EN

回答 1

Stack Overflow用户

发布于 2016-05-03 17:05:58

今天我得到了完全相同的情况,最终我发现它们是完美兼容的。在运行脚本之前,只需在mysql中创建一个新数据库并重置SQLALCHEMY_DATABASE_URI即可。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26350586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档