mysql - 重命名 Django 模型及其对应的 MySQL 表

标签 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);

能不能就这么简单,还是我漏掉了什么?

最佳答案

在 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/

相关文章:

php - 计算每个成员名称在具有条件的表中出现的次数

python - 在 Django include 标签中动态生成一个值

python - 使用 Postgresql 数据库创建 Azure Web 应用程序(这可能吗?)

python - Django 找不到 URL 模式

mysql - 使用 GORM for Golang 的一对一关系映射

php - Symfony 根据日期计算天数

php - Codeigniter : unable to connect to database, 服务器错误

javascript - 选择表单后从数据库获取隐藏的输入值

django - 无反向匹配 : with arguments '()' and keyword arguments

django - 清理数据时附加到 ManyToMany 表单字段时出现问题