2016-06-07 56 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並且不會跟蹤您所做的數據庫更改。你可以隨時在你的開發數據庫上啓用查詢日誌記錄,但這可能會起作用... –