5

从我的 phpMyAdmin 导出和导入数据库(实时到本地 - 反之亦然)正在成为一项乏味的任务并且容易出现不一致。有时我在下载文件夹中导入了错误的数据库文件,用错误的记录覆盖了我的数据库,幸运的是我还有备份。

是否有更好的工作流程如何将数据库从本地服务器同步到实时服务器?我需要同步我的 live-to-local 和 local-to-live,因为双方都在进行更改,本地更改是针对在网站上工作的开发人员(即我)而 live 是针对发布者和管理员的谁在实时站点上发布内容或执行某些管理任务。

我希望有像它有版本控制选项的解决方案,所以,如果我搞砸了,我仍然可以回到早期阶段。

如果它是一个软件解决方案,我在 OS X (10.8.3) 上运行。我使用 wordpress、coda 和 Mamp。

4

3 回答 3

2

我的需求与您的几乎相同,因此我编写了一个脚本来处理我所有的迁移需求:https ://github.com/jplew/SyncDB 。

SyncDB 是 bash 部署脚本,旨在消除同步 Wordpress 站点的本地和远程版本的乏味。它允许在本地环境(例如 MAMP)中工作的开发人员使用单个终端命令快速将更改“推送”或“拉取”到他们的生产服务器或从他们的生产服务器中“拉取”更改。

我的设置也很相似,所以它很有可能适合你:Mac OS X 10.8.4、MAMP、Wordpress 和 MacVim。

虽然它不对转储文件进行版本控制,但它会自动命名它们130830-0923-my_database.mssql.bz2或其他名称。因此,您可以轻松恢复以前的版本。通过编写脚本,它也消除了很多人为错误。

于 2013-09-03T10:20:12.743 回答
2

我们开发了 wordpress 网站,并且有许多开发人员在多种环境中工作。我们发现这个插件让我们的生活变得非常简单。(我们没有成功,我们也没有得到他们的报酬来推广它)

http://deliciousbrains.com/wp-migrate-db-pro/

我们发现,对于支付的少量费用(我们为 99 美元),它为我们节省了大量时间,并在我们实际可以赚取的计费时间内弥补了这一点。

于 2013-09-04T20:41:29.760 回答
0

使用要导入的数据创建一个新数据库,然后将活动数据库重命名为,例如 live_bck,将数据库导入为实时数据库的名称:

rename database live_database to live_bck;
rename database imported_database to live_database;

现在您有了一个名为 live_bck 的数据库备份,您可以在需要时将其重命名为 live_database,或者在一切正常时将其删除。 http://dev.mysql.com/doc/refman/5.1/en/rename-database.html

您也可以在操作选项卡中使用 phpmyadmin 执行此操作,但这需要更多时间。所以将2个查询放在sql textarea中并执行它

于 2013-09-02T14:32:07.487 回答