我需要将应用程序“myapp”中的Django模型从“Hotel”重命名为“Client”,我宁愿不使用South。
我想知道使用以下查询来处理MySQL中的更改是安全的吗?
RENAME TABLE myapp_hotel to myapp_client;
RENAME TABLE myapp_hotel_sites TO myapp_client_sites;
以及与现在Client表具有外键关系的表:
ALTER TABLE myapp_client_sites CHANGE hotel_id client_id int(11);
可以这么简单,还是我错过了什么?
答案 0 :(得分:0)
在MYSQL中可以像这样更改表名,但考虑到你还需要更改django代码中的类名。否则orm不会映射mysql数据库表名。
使用south之类的工具可确保在数据库中的所需位置进行所有代码更改。
自动迁移创建:South可以查看models.py文件中的更改内容,并自动编写与您的更改匹配的迁移。