将 postgresql 索引转换为 Django 迁移

Posted

技术标签:

【中文标题】将 postgresql 索引转换为 Django 迁移【英文标题】:Converting postgresql indexes to Django migrations 【发布时间】:2017-07-11 08:36:55 【问题描述】:

我们有一个自 Django 1.1 以来一直在生产中的 Django 应用程序。多年来,我们在生产 PostgreSQL 数据库中手动添加了一些附加功能,而当时 Django 的数据库自动化并未公开支持这些功能,尤其是自定义索引的形式。

Django 自 1.1 以来已经走过了漫长的道路,现在有了 1.10 我很确定迁移框架支持我们手动添加的所有自定义功能。是否有任何自动化工具可以将数据库与模型进行比较,并生成迁移以使模型与数据库保持同步?

【问题讨论】:

【参考方案1】:

这是 django 内置的,你可以直接运行 inspectdb

manage.py inspectdb

自省 NAME 设置指向的数据库中的数据库表,并将 Django 模型模块(models.py 文件)输出到标准输出。您可以通过将名称作为参数传递来选择要检查的表。

如果您有一个想要使用 Django 的遗留数据库,请使用此选项。该脚本将检查数据库并为其中的每个表创建一个模型。

【讨论】:

哈,“包括电池”,确实。我以前读过有关该功能的信息,但完全忘记了它。谢谢!

以上是关于将 postgresql 索引转换为 Django 迁移的主要内容,如果未能解决你的问题,请参考以下文章

如何轻松地将 Django 应用程序从 mySQL 转换为 PostgreSQL?

如何将 PostgreSQL 数据库中的所有 SMALLINT 列转换为 BOOLEAN?

如何将此 SQL 查询转换为 Django?

如何强制 PostgreSQL 使用某个索引?

为 Django 全文搜索创建索引

如何在 PostgreSQL 中将长 NUMERIC 整数转换为位字符串?