gpt4 book ai didi

python - 如何在 Flask 中使用 SQLAlchemy-Migrate 和 MySQL 数据库

转载 作者:行者123 更新时间:2023-11-28 22:47:22 25 4
gpt4 key购买 nike

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

以前我一直在使用来自 Mega Flask Tutorial 的脚本使用 SQLAlchemy-Migrate 管理我的数据库创建和迁移。

似乎这些脚本与开箱即用的 MySQL 不兼容,而且我真的找不到任何关于如何将 SQLAlchemy-Migrate 与 MySQL 一起使用的信息。

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

#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

最佳答案

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

关于python - 如何在 Flask 中使用 SQLAlchemy-Migrate 和 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26350586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com