我需要将应用程序“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);
能不能就这么简单,还是我漏掉了什么?
最佳答案
在 MYSQL 中可以像这样更改表名,但考虑到您还需要在 Django 代码中更改类名。否则 orm 将不会映射到 mysql 数据库表名。
使用类似 south 的工具将确保在数据库中需要的地方进行所有代码更改。
Automatic migration creation: South can see what’s changed in your models.py file and automatically write migrations that match your changes.
关于mysql - 重命名 Django 模型及其对应的 MySQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15655769/