类似于“diff”,但对于PostgreSQL模式

schemahq-migra的Python项目详细描述


偏头痛:与diff相似,但对于Postgres模式

  • 比较架构

  • 自动生成迁移脚本

  • 从应用程序模型自动同步开发数据库

  • 使您的模式更改具有可测试性、健壮性和(大部分)自动化

migra是PostgreSQL的模式差异工具,用Python编写。在python脚本中使用它,或者在命令行中使用它,如下所示:

$ migra postgresql:///a postgresql:///b
alter table "public"."products" add column newcolumn text;

alter table "public"."products" add constraint "x" CHECK ((price > (0)::numeric));

migra神奇地计算出从A到B所需的所有语句

支持PostgreSQL的大多数功能。在

Migra仅支持PostgreSQL>;=10。早期版本存在已知问题。开发资源有限,优先考虑的是特性支持而不是向后兼容性。在

文件

文档位于djrobstep.com/docs/migra。在

伙计们,模式很好

模式迁移无疑是使用SQL数据库最麻烦、最烦人的部分。以至于有些人认为模式本身是不好的!在

但模式实际上是好的。加强数据一致性和结构是件好事。迁移工具是不好的,因为它比应该的更难使用。migra是一种改变这种情况的尝试,使迁移变得简单、安全和可靠,而不是令人恐惧的东西。在

贡献

贡献很容易。Jump into the issues,找到一个你想做的特性或修复,然后参与进来。或者创造一个新的问题并提出完全不同的建议。如果你对这个过程的任何方面都不确定,就问。在

学分

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

推荐PyPI第三方库


热门话题
java为什么我们不能将ArrayList<Integer>传递给具有(Integer…)的方法参数   java Spring RestTemplate映射JSON对映射的响应引发不匹配的PutException   在系统中找到java Selenium元素,但在Jenkins中未找到   java在Android中使用JavaMail API发送电子邮件,而不使用默认/内置应用程序   数组如何在Java数据结构中同时存储数字和相应的单词?   为什么“+”运算符未定义?JAVA   java如何在游戏中添加高分系统?   java在球门碰撞中区分球和球员   java如何使用SpringSecurity4.0.1使用Auth令牌实现Rest完整Web服务。释放   java如何解决这个错误:Android资源链接失败?   java多线程文件处理和数据库批插入   导致Tomcat失败的java无用块线程   java主线程做了太多的工作,尽管我使用了异步线程(laggy UI)   在Java FX 2.0中滚动锚定节点时,锚定始终可见?   java使用EJB3中的客户机jar和设计模式