我正在創建一個現有的將用作沙盒的symfony php應用程序的版本,即某種演示版本的應用程序。 這兩個應用程序將在同一臺服務器上使用單獨的mysql模式。 這兩個模式是相同的,沙盒模式將在每天開始時從主應用程序的數據中刪除和重新創建。 白天,用戶可能會在主應用程序中創建/更新,我希望這些更改立即反映在沙盒應用程序中 - 所以我需要在主應用程序中更改時從三個相關表中複製更改。確保應用程序的用戶始終處於應用程序的演示版本中
我已經考慮在主模式中的所需表上創建觸發器,但我有點運氣找到AFTER INSERT和AFTER UPDATE的trigger_body的例子。
我曾考慮修改與三個表關聯的Doctrine對象以通過單獨的Doctrine_Connection(對於sandbox dsn)進行保存。
我曾考慮過在主應用程序中擴展sfDoctrineGuardPlugin以爲這兩個應用程序提供身份驗證,但這仍然需要從三個表中傳輸數據。
有沒有我沒有考慮過的方法?哪種方法最好?
同步這兩個數據庫是否適合您?如果它們都在同一臺服務器上,應該很容易完成。而且它還會考慮到每天早上同步的需要。 – jdias
你是指複製嗎?不斷更新沙箱數據庫與主數據庫的變化?我肯定會嘗試這樣做(雖然可能有一些表我不想用這種方式進行同步),但據我瞭解,複製在同一臺服務器中是不可能的。我錯了嗎? – jah
是的。我的意思是複製。最常見的實現是在2個不同的服務器之間進行復制。但是,您可以在同一臺服務器上安裝兩個MySQL實例,並且可以像在不同服務器中一樣進行復制。 – jdias