Peewee进化时间表
peewee-db-evolve的Python项目详细描述
peewee db evolve
根据数据库区分模型,并将sql输出到 (非破坏性)更新架构。
把它想象成空间站上的db.create_tables() 你的数据库)。
您也可以将其视为模式迁移,而不必 实际上是写迁移。
快速启动
- 运行:sudo pip install peewee-db-evolve
- 在您的模型之前将import peeweedbevolve添加到任何位置 定义。
- 在正常运行的地方运行db.evolve()。 db.create_tables(),尽情享受吧!
支持的数据库
- PostgreSQL
- mysql
常见问题
^ {EM1}$是否与现有项目一起使用,或者仅与新项目一起使用?
<>这与现有项目很好。如果你的api只与 新项目,你可能做错了。你不写自己的迁移就放弃了控制吗?
通过编写自己的迁移来管理模式有点像 通过在中编写自己的patch文件来管理源代码 除了编写实际的代码之外。经过仔细审查的diff工具是 会比你做得更好更快。
这个工具有多旧/经过仔细检查?
该项目自2016年8月起投入生产使用。(我们换了 但这是一种模式管理方式 使用了大约10年。
如何防止“peewee db evolve”演变成特定的表 还是班级?
在类Meta类中,添加evolve = False和 peewee-db-evolve将忽略它。如果你没有一门课 特定的表,只需为它创建一个不做任何事情的虚拟类。或者你可以 将任何iterable传入ignore_tableskwarg的evolve()。
测试
如何运行:
$ python3 test.py .................................................................................................. ---------------------------------------------------------------------- Ran 98 tests in 39.860s OK