重命名Django模型,它是相应的MySQL表

时间:2013-03-27 09:45:42

标签: mysql django

我需要将应用程序“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);

可以这么简单,还是我错过了什么?

1 个答案:

答案 0 :(得分:0)

在MYSQL中可以像这样更改表名,但考虑到你还需要更改django代码中的类名。否则orm不会映射mysql数据库表名。

使用south之类的工具可确保在数据库中的所需位置进行所有代码更改。

  

自动迁移创建:South可以查看models.py文件中的更改内容,并自动编写与您的更改匹配的迁移。