WordPress开发环境与生产环境的区别

3
我即将使用WordPress作为定制化的CMS,但我的问题是,如何将开发与生产进行同步?
假设没有使用WordPress,典型的开发周期是在本地开发页面并创建数据库脚本。然后当一切准备就绪时,将其发布到网站上。之后再进行更多的数据库和代码更改,然后只更新/应用更改,以此类推。
现在,使用WordPress,您可以获得所有出色的功能(例如博客、评论、几乎成熟的CMS等)。然而,部署非常困难!理想情况下,我更愿意保持上述典型的开发周期。因此,我将在本地实现WordPress(从wordpress.org),然后将更改推送到生产服务器。
因此,假设我在本地在WordPress中创建了一个新页面(我永远不会在服务器上创建页面,全部在本地完成,我会找到一种方法禁用服务器上的wp-admin),则会创建许多文件。到目前为止还没有问题。但是,如果我要向新创建的页面添加内容,则该内容将保存到我的本地数据库中。尽管该内容是数据库更改,但它被认为是(从我的角度来看)应该推送到服务器的新更改,而不是通过在线服务器添加该内容(因为该内容被视为静态内容,而不是博客文章或评论,它是一个静态页面)。
现在,该新页面内容已保存到数据库中,因此,本地计算机上的数据库将有更改,我应该将其与FTP到服务器的文件一起推送到服务器。
我的问题是:
1.这种方法正确吗?如果不是,您有什么建议?
2.查找数据库差异的最佳方法是什么?使用哪个工具?MySQL Workbench是否提供类似的功能?我打算使用该工具查找差异,然后生成用于数据库的更新脚本。问这个问题的原因是我通常自己进行更改,并且知道如何跟踪它们,但是现在,这些数据库更改是由WordPress生成的,我需要反向工程来找出所做的更改。
3.假设我成功执行步骤2,那么脚本中是否有任何需要修改的内容?例如服务器名称?WordPress是否硬编码服务器名称?
因此,为了总结并为您提供有关我的开发环境的更多信息,我在Windows 7上使用XAMPP进行开发,设置了PHP和MySQL。我还使用Mercurial进行源代码控制。如上所述,我将在解决方案的一部分中使用WordPress,并打算使用它来帮助我创建CMS解决方案。我将在本地使用它进行页面生成,并禁用在线功能(仅保留博客文章和类似条目)。我这样做是为了保持同步。如果我在本地创建页面,则会将一些数据保存到数据库中。现在,我该如何进行同步/上传?
谢谢。
2个回答

0

好的,经过进一步调查,这是我的结论。

  1. 所有主题开发都应该进行版本控制
  2. 所有插件开发都应该进行版本控制
  3. 页面和文章的内容不属于开发过程的一部分,这是内容,只需要备份即可。

这样,您就不需要担心数据库更改等问题了。

希望这能帮助大家。


1
WordPress将所有插件/等设置存储在数据库中,这是CMS的非常重要的一部分。 - Даниил Пронин
我不明白为什么你不需要担心数据库更改?内容已经进入数据库了... - sebelk

-2

你可能使用版本控制系统?开发环境是什么操作系统,例如Windows还是Linux?生产环境是什么操作系统?我使用http://serverpress.com作为我的测试环境,虽然还有其他的选择,如WAMP、LAMP等。


我使用版本控制系统,以下是我的详细设置:在本地,我使用XAMPP在Windows 7上进行开发,使用PHP和MySQL设置。我还使用Mercurial进行源代码控制。我将使用WordPress作为产品的一部分。我打算使用WordPress帮助我创建CMS解决方案。我考虑在本地使用它进行页面生成,并禁用在线功能(保留博客文章和条目)。我这样做是为了保持同步。如果我在本地创建一个页面,一些数据会保存到数据库中。现在,如何同步/上传?我更关心数据库更改... - Greeso

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接