轉:Django south 的正確用法

來源:互聯網
上載者:User
 來自stackoverflow使用者Ken Cochrane的解決方案以及其他

  有人在stackoverflow上問到以上問題,ken給了一個非常nice的詳盡答案。他提出在不同情形下使用south的正確方式,如下:

  1)建立一個沒有資料庫的新項目時

    1、建立資料庫

    2、將south添加到INSTALLED_APPS

    3、運行syncdb命令,它將django和south的資料表加入到資料庫中

    4、將你建立的apps添加到INSTALLED_APPS

    5、對每個app分別運行“python manage.py schemamigration app_name --initial”,它將在每個app的目錄下建立migration目錄和相應的檔案

    6、然後運行“python manage.py migrate app_name”,這一步將app的資料表加入到資料庫中

  2)在帶有資料庫的已存項目中使用south

    1、將south加入到INSTALLED_APPS中

    2、運行syncdb,它將south的資料表加入到資料庫中

    3、對每個app分別運行python manage.py schemamigration app_name --initial,它將在每個app的目錄下建立migration目錄和相應的檔案

    4、對每個app分別運行“python manage.py migrate app_name 0001 --fake”,該命令不會對資料庫做任何操作,只是欺騙一下south,讓它在south_migrationhistory表中添加一些記錄以便於下次你想創造migration檔案的時候所有東西都已搞定。

  3、在沒有資料庫的已存項目中使用south

    1)建立資料庫

    2)將south加入到INSTALLED_APPS中

    3)對每個app分別運行“python manage.py schemamigration app_name --initial”,它將在每個app的目錄下建立migration目錄和相應的檔案

    4)運行syncdb,它將所有沒有migrations的apps加入到資料庫中

    5)然後運行“python manage.py migrate”命令,它將對你的所有apps運行遷移操作。

ken的答案不可謂不詳盡,如果你仍然有問題,那麼可以點擊下面的連結去stackoverflow看看他的原文,以及別人的答案:點我前往

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.