标签:支持 托管 window get oge name website 否则 粘贴
alembic是SQLAlchemy作者编写的控制 model 版本的模块,配合SQLAlchemy使用更佳
pip install alembic
alembic是可以在DOS中执行的模块,因此如在Linux执行需要注意指定alembic的位置
这个我在上一篇博客中有介绍
以 windows 为例,我们进入项目的根目录,输入
alembic init alembic
然后我们发现在根目录里多个几个文件
文件夹打开后是
我们托管model需要连接数据库
在 alembic.ini 文件中修改
sqlalchemy.url = 数据库连接(直接粘贴SQLAlchemy中的即可)
其他都不用改
修改 alembic 的 env.py 文件
target_metadata = None
为
import sys from os.path import abspath, dirname sys.path.append(dirname(dirname(abspath(__file__)))) # 将项目路径引入 from app.website.models import Base as bs1 # 多个model则每一个引入,引入按照我这个来一直引到Base(否则报错),因每个Model都有Base所以我们起别名 target_metadata = [bs1.metadata] # 多个Base可用列表方式全部写进去,[bs1.metadata, bs2.metadata, ...]
alembic revision --autogenerate -m ‘init‘
然后我们查看数据库发现多了一个 alembic 的表
大功告成!
提交model的步骤是(每次)
alembic revision --autogenerate -m ‘提交说明‘
alembic upgrade head
然后我们发现数据库多了Model定义的表
alembic支持数据库版本的回滚等,相当于 git
但是我个人认为没什么必要
另外,alembic的版本信息在 alembic 的 versions 文件夹中
标签:支持 托管 window get oge name website 否则 粘贴
原文地址:https://www.cnblogs.com/chnmig/p/10446346.html