我是zend框架2中的新手。我想知道如何在我的Web应用程序中维护数据库架构。假设我有一个网站,后来我决定在我的网站上添加新功能,并且在现有数据库中需要另外5个表。
问题:
我如何在mysql中创建数据库表(如果不存在),如果不存在则在zend框架2中启动新功能之前创建新表?通过这样做我还维护我的应用程序版本控制。
实施例: 正如我们在wordpress中所做的那样。当我们安装一个新插件时,我们先检查数据库是否有插件工作表,如果没有,那么我们先创建数据库。
请与我分享,解决此问题的最佳做法是什么。
答案 0 :(得分:1)
首先,你需要一个像phinx这样的迁移工具,它允许你构建迁移脚本,当然还有回滚脚本。此外,您可以对迁移脚本进行版本控制,并且可以管理不同的detabase环境并逐个迁移或回滚它们。
Phinx易于使用,轻便且不依赖于框架,我认为它不是最好的工具,但它有责任。
但是它在命令行中工作(可以在ZF2中使用,有模块,或者你使用exec命令)