大家都在用什么数据库 migrate 工具呢?
一直在用Flask-Migrate,是对alembic的简单封装,然后提供了一些Flask-Script命令。
但感觉alembic不太好用:
1. 它默认使用随机数来命名文件,这样不容易看出时间的先后顺序(当然,改一下配置文件应该就可以实现用时间命名...)。
2. migrate脚本之间的先后顺序是定义在文件中的down_version的,多个人在不同分支中对同一个节点进行migrate,完了merge的时候又要手动修改down_version,好麻烦...
3. 单个脚本的执行不具有原子性,如果执行某个脚本的时候中途失败,之前执行的也不会rollback,挺麻烦的。
感觉没有RoR中自带的migrate工具方便。
alembic的开发者就是SQLAlchemy的作者Mike Bayer,从 https://bitbucket.org/zzzeek/alembic 来看,commits还是比较频繁的。听说下一版会有比较大的提升,希望如此吧~
一直在用Flask-Migrate,是对alembic的简单封装,然后提供了一些Flask-Script命令。
但感觉alembic不太好用:
1. 它默认使用随机数来命名文件,这样不容易看出时间的先后顺序(当然,改一下配置文件应该就可以实现用时间命名...)。
2. migrate脚本之间的先后顺序是定义在文件中的down_version的,多个人在不同分支中对同一个节点进行migrate,完了merge的时候又要手动修改down_version,好麻烦...
3. 单个脚本的执行不具有原子性,如果执行某个脚本的时候中途失败,之前执行的也不会rollback,挺麻烦的。
感觉没有RoR中自带的migrate工具方便。
alembic的开发者就是SQLAlchemy的作者Mike Bayer,从 https://bitbucket.org/zzzeek/alembic 来看,commits还是比较频繁的。听说下一版会有比较大的提升,希望如此吧~