Peewee进化时间表

peewee-db-evolve的Python项目详细描述


Build Status

peewee db evolve

根据数据库区分模型,并将sql输出到 (非破坏性)更新架构。

把它想象成空间站上的db.create_tables() 你的数据库)。

您也可以将其视为模式迁移,而不必 实际上是写迁移。

快速启动

  1. 运行:sudo pip install peewee-db-evolve
  2. 在您的模型之前将import peeweedbevolve添加到任何位置 定义。
  3. 在正常运行的地方运行db.evolve()db.create_tables(),尽情享受吧!

示例

看我们的Hello World 例子。

image

图像

支持的数据库

  • PostgreSQL
  • mysql

常见问题

^ {EM1}$是否与现有项目一起使用,或者仅与新项目一起使用?

<>这与现有项目很好。如果你的api只与 新项目,你可能做错了。

你不写自己的迁移就放弃了控制吗?

通过编写自己的迁移来管理模式有点像 通过在中编写自己的patch文件来管理源代码 除了编写实际的代码之外。经过仔细审查的diff工具是 会比你做得更好更快。

这个工具有多旧/经过仔细检查?

该项目自2016年8月起投入生产使用。(我们换了 但这是一种模式管理方式 使用了大约10年。

如何防止“peewee db evolve”演变成特定的表 还是班级?

在类Meta类中,添加evolve = Falsepeewee-db-evolve将忽略它。如果你没有一门课 特定的表,只需为它创建一个不做任何事情的虚拟类。或者你可以 将任何iterable传入ignore_tableskwarg的evolve()

测试

如何运行:

$ python3 test.py
..................................................................................................
----------------------------------------------------------------------
Ran 98 tests in 39.860s

OK

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Cassandra复制因子大于节点数   java J2EE JTA事务回滚不适用于OSE Glassfish 4.0(Build 89)   java spring安全预认证用户登录   org的java类文件。反应流。从RxJava编译示例时未找到Publisher?   java在使用dataFormat作为POJO通过Camel调用Web服务时无法设置SOAP标头   Javafx类的java静态实例   java如何防止一个部件在关闭时覆盖另一个部件的位置   sql server无法从我的java代码连接到数据库   java在JList(Swing)中显示带有的ArrayList   从Java中的CXF服务获取WSAddressing数据   使用资产文件夹进行java简单json解析(本地)   java LDAPException未绑定的无效凭据   JavaJSFspring部署到weblogic   JAVA中字符数组中的特定元素排列?   如果脚本位于不同的目录中,则ant不会使用exec标记运行Javashell脚本