2013-03-11 69 views
0

我目前正在探索使用python來開發我的服務器端實現。我決定使用SQLAlchemy來處理數據庫內容。多開發環境python和sqlalchemy

我目前還不確定應該如何設置,以便多個開發人員可以在該項目上工作。對於代碼它不是一個問題,但我該如何處理數據庫修改?用戶如何同步數據庫以及如何設置潛在數據?每個開發者應該/可以使用他們自己的sqlite數據庫進行開發嗎?

對於生產,將使用postgresql,但開發人員必須能夠脫機工作。

回答

0

您可以使用Alembic來管理您的數據庫結構。保持您的遷移在版本控制之下,以確保開發人員可以輕鬆地與更改保持同步。 關於數據本身,您可以使用一組燈具,或者您可以編寫一些Fabric命令來導入/導出Postgres轉儲,如果需要,您還可以在版本控制下進行轉儲 - 這取決於數據大小,您可能不希望但是要在版本控制下保留一個大型的未壓縮SQL轉儲(儘管它可以很好地壓縮使用git或hg)。問題的這一方面取決於開發團隊的規模以及數據庫的大小。

+0

感謝和閱讀的任何人我發現這一點:https://github.com/kvesteri/sqlalchemy-fixtures – Asken 2013-03-11 18:53:11

+1

上面 - 你應該考慮在你的後端啓動代碼中添加需要某些數據庫遷移的檢查當下。我有太多的人抱怨事情中斷,因爲他們沒有意識到他們忘記了運行的SQL遷移。 – 2013-03-11 18:55:33

+0

謝謝。我正在考慮像db中的版本字符串和代碼中的相應代碼。很好的匹配,開始。 – Asken 2013-03-11 18:59:15

0

確保你有一個python程序或程序來從頭開始用測試數據填充數據庫。它允許每個開發人員從不同的起點開始工作,但也可以使用相同的環境進行測試。