2013-03-27 38 views
1

我需要將應用程序「myapp」中的「Django模型」從「Hotel」重命名爲「Client」,我不想使用South。重命名一個Django模型,它對應的MySQL表

我想知道使用下面的查詢處理MySQL中的變化是否安全?

RENAME TABLE myapp_hotel TO myapp_client;

RENAME TABLE myapp_hotel_sites TO myapp_client_sites;

,並與到現在客戶表的外鍵關係表:

ALTER TABLE myapp_client_sites CHANGE HOTEL_ID CLIENT_ID INT(11);

它可以這麼簡單,還是我錯過了什麼?

回答

0

更改表名可以這樣在MYSQL中完成,但考慮到您還需要更改django代碼中的類名稱。否則,orm將不會映射到mysql數據庫表名。

使用類似south這樣的工具將確保所有代碼更改都是在數據庫中根據需要進行的。

自動遷移創建:South可以查看您的models.py文件中發生了什麼變化,並自動編寫與您的更改相匹配的遷移。

+0

感謝您的提示馬特。考慮了上述所有因素。任何對舊的「酒店」術語的引用都已經從代碼庫中抹去了。測試,我們說話。 – crossan 2013-03-28 12:20:54