2011-01-31 28 views
0

我正在使用Django 0.97版本與postgresql 9.0。我在主數據庫服務器和從數據庫服務器上配置了熱流複製。我的應用程序在數據庫上有嚴重的bot驅動寫入,只能從用戶讀取。因此,如果我爲用戶和寫訪問主數據庫創建用於訪問bot的讀訪問從數據庫,它會使其非常優化。不幸的是,只有Django 1.2有多個數據庫支持,並且在我的應用程序中進行了巨大的升級。我通過以下鏈接獲得了一些線索:http://www.eflorenzano.com/blog/post/easy-multi-database-support-django/但是,這也要求我在應用程序中更改所有db訪問實例。有沒有更簡單的方法來指定單獨的數據庫服務器讀取訪問和寫入訪問通過Django核心數據庫模塊擺弄?如何在django 0.97上分離讀取db服務器和寫入db服務器?

+0

可以預見的是,使用這樣一個古老版本的Django使用一個非常新的Postgresql特性,你會遇到嚴重的麻煩...... – 2011-01-31 08:44:24

回答

1

最好的辦法是將其升級到1.2,因爲它比黑客們已經存在的功能少得多。如果你堅持0.97的時間更長,你的生活將只會更艱難。

我猜你可能對使用多個數據庫在Django 1.2中的工作原理有一些誤解。如果您使用Django的Database Routers功能,則不必「更改[您的]應用程序中的所有db訪問實例」。

使用路由器,您可以指定用於讀取和寫入的數據庫。所有現有的django模型都應該可以工作,並開始向合適的數據庫發送請求。設置路由器非常簡單,只需檢查docs即可。所需要的只是創建路由器類,將其放在某處,然後在設置中添加一行。

它工作得非常好,並沒有你所期望的那麼多。您可能還有其他與升級相關的問題,但您無法告訴我們,但就模型而言,您應該不會遇到太多問題。

相關問題