ivenlee
V2EX  ›  Python

sqlalchemy 模型改变了怎样同步到数据库。

By ivenlee at 2016 年 4 月 3 日 · 5630 次点击
http://www.zhihu.com/question/27551008/answer/68916625
在知乎看到这样的回答,请问你们用的是哪一种?
12 条回复  •  2016-04-05 16:45:49 +08:00
linnchord
   1
linnchord  
   2016 年 4 月 3 日
一个严肃软件工程项目的一环, 3 。
一个小的手工作坊式或信奉 dirty+quick 的软件项目, 2 。
自己随便捣腾个新项目, 1 。
ivenlee
   2
ivenlee  
OP
   2016 年 4 月 3 日
@linnchord 我也觉得在开发环境 把 table drop 掉是最快的。
janxin
   3
janxin  
   2016 年 4 月 3 日 via iPhone
开发环境是 drop 然后 create , flask-script 做个命令挺方便的。

回到线上环境, 3 是比较靠近实际的方案
clino
   4
clino  
   2016 年 4 月 3 日
用过 alembic 感觉很方便,但貌似有时候会出点问题
不行就自己写 sql 了
orvice
   5
orvice  
   2016 年 4 月 3 日
开发环境随便搞
显示不是要给 dba 操作么
wklken
   6
wklken  
   2016 年 4 月 3 日
alembic 完美解决.....跟 django migration 差不多
Livid
   7
Livid  
MOD
PRO
   2016 年 4 月 3 日
每一个表结构的更改语句 ALTER TABLE ,都用一个文件记录下来,文件名是日期加功能的关键字,比如:

sql/20160401_feature.sql

然后这个文件和代码一起入版本控制。
monkeylyf
   8
monkeylyf  
   2016 年 4 月 4 日
alembic
ivenlee
   9
ivenlee  
OP
   2016 年 4 月 4 日
@Livid 说的怎么跟 migration 那么像呢? 类似 alter table drop column 之前一般要备份吗? 前意识总觉得需要先备份一下(最起码备份被改动的表)
ivenlee
   10
ivenlee  
OP
   2016 年 4 月 4 日
@wklken @clino @monkeylyf 好的,谢谢。 我回头了解一下 alembic
Dik1s
   11
Dik1s  
   2016 年 4 月 5 日 via iPhone
flask 有个 migrate
wingyiu
   12
wingyiu  
   2016 年 4 月 5 日
让 alembic 帮你做
或者像 @Livid 那样自己动手
推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
© 2026 V2EX · 41ms · 3.9.8.5