2016-06-07 27 views
0

我是比较新的网络开发和我有修复/编辑/固定住网站的一些严重的问题。如何在本地编辑网站同时直播DB仍在编辑

我使用WordPress和DB也保持配置,让我们说,我需要做的与电子商店网站上的一些工作。我将从现场网站上使用当前版本的DB开始我的本地网站。但在几个小时后,当我做,我不能只是简单地覆盖住DB与当地的环境我的数据库,因为有一些新的订单,职位等

,我们该如何处理这种事情?

谢谢大家谁会分享他的建议或经验!

+0

不能WP的评论,但Drupal有特色模块,做这样的事情,不知道是否有WordPress的类似的东西? –

+0

@ james-geldart我在互联网上看到,合并两个数据库是有风险的,几乎不可能,但必须有某种方式。 –

+0

是的,这是一场噩梦,这是配置繁重的CMS平台的一个弱点,尽管事实上你可以用config做这么多事情就是它们的优势。 Drupal的哪些功能可以让您将各种更改(包括内容和配置)打包到一个包中,然后您可以将其置于版本控制之下。但就像我说的,我不知道是否有WP等价物 –

回答

1

首先挥霍,使你在文件作出的所有更改音符。你必须正确记录它。 下其实有3案件

i)在单独改变文件

如果你只改变了文件,那么显然没有必要改变需要更新只有文件的数据库。首先不需要破解核心wordpress文件,因为一切都可以通过“actions”和“filters”方法完成。我的意思是通过创建一个插件,以便您的核心文件是安全的。 https://codex.wordpress.org/Writing_a_Plugin

II)当单独

chaning数据库中,如果您chaning的数据库,而不是删除整个datase和重装,你可以使用简单的改变表“ALTER”命令http://dev.mysql.com/doc/refman/5.7/en/alter-table.html

iii)改变数据库和文件。

关注(一)和(二)

+0

如果更改DB。如果我在本地创建了例如ID为5的表单并且在现场制作了ID为5的表单,会发生什么情况?在尝试使用ALTER命令时必然会发生冲突。我假设你的建议只有在编辑已经在DB中的值时才有效,对吧? –

+1

@FrankMejzlik你不应该覆盖现有的数据库。如果你的ID是唯一的,并自动递增,那么只需插入另一行与新的ID。因此,活动服务器中的现有ID保持原样。 –

+1

要点(i)应该使用像Git或Subversion这样的版本控制系统。要点(ii)很困难,因为虽然理论上可以创建一个针对数据库运行的SQL脚本,但在Wordpress(或其他类似系统)中,您不需要(或不应该)直接更新数据库,您可以通过UI并且不会跟踪您所做的数据库更改。你可以随时在你的开发数据库上启用查询日志记录,但这可能会起作用... –