2011-04-01 164 views
3

我试图获得数据库同步的工作流。现在:同步本地和远程MySQL数据库

  1. 我们创建一个数据库。

  2. 数据库投入生产。

  3. 后来......我们意识到我们需要更改数据库结构。我们在本地改变它。

  4. 一旦完成,我们上传到生产。

如果这是开发者常见,你用什么方法来解决这个问题,而不会丢失已经介绍了关于生产方面的数据?

回答

3

您应该是placing your database schema under version control。有很多工具可以帮助你做到这一点。

Check out this other previous question on the topic为几个PHP特定的选项。数据库迁移通常是代码部署的一部分。查看构建工具以帮助使此过程更加自动化。 Phing是一个受欢迎的选项。

+0

谢谢。至少现在我有一个关于我应该在哪里看的问题。我正在使用Capistrano进行railsless-deploy,我完全不熟悉git。不知道这篇文章是否适合我。好吧。 :) 谢谢。 – MEM 2011-04-01 17:02:40

+0

我以前曾见过Capistrano与PHP一起使用,但除了知道这不是什么奇怪的事情,我没有任何特定的资源给你。 – Charles 2011-04-01 17:12:58

+0

请在这里纠正我。我将我的数据库模式置于版本控制之下。好。我将使用一个git钩子来抓取数据库模式并存储在一个文件中。每次我在本地做一个更改,然后我提交,然后部署我的项目文件和文件夹,包括那个.sql,*我的远程数据库模式是否会改变?*我打算使用的脚本被表达在我的问题在这里:http://stackoverflow.com/questions/5518349/using-git-to-track-mysql-schema-some-questions在此先感谢。 Ps-Capistrano只会部署所做的更改。我没有在那里配置任何数据库设置。 – MEM 2011-04-02 13:34:52

相关问题