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第三方库


热门话题
将Stanford POS tagger作为一个应用程序运行时出现问题。jar在netbeanside中运行良好   当我创建一个新项目时,JavaEclipse给了我一个错误   java如何从ConstraintViolationException Hibernamte获取数据库字段名   当找不到匹配的元素时,java Winium停止执行   java动态调用Spring集成转换器   java数组有多重?   算法二叉搜索树的实现与java   我的Android应用程序中的java SMS按钮不仅适用于Nexus 5和Android 4.4.2(KitKat)   使用EAR在Jboss5中创建和部署java EJB   按关系分组的Java排序   dll JNA线程“main”java中出现异常。lang.错误:无效的内存访问(未知源)   twilio上的jsp Java获取方法   java Android“不幸的是,<app>已经停止。”   Java哈希映射大小调整   java JPA无法更新实体   java=?UTF?Q从ASCII到Unicode的新闻组字符串   java更新JCombobox总是让第一个元素为空