gpt4 book ai didi

mysql - 如何为Django(MySQL后端)中的每个表设置不同的存储引擎?

转载 作者:行者123 更新时间:2023-11-29 15:45:33 24 4
gpt4 key购买 nike

我有一个 MySQL 数据库,不是用 Django 创建的。它具有混合表存储引擎。我需要告诉 Django 哪个存储引擎应该用于哪个表。有什么办法可以做到这一点吗?

我看到了一种方法,在 settings.py 的 DATABASES 字典内定义了两个单独的数据库连接,每个连接都有单独的存储引擎(如下所述: Django set Storage Engine & Default Charset ),但这在使用 django 查询集时增加了额外的复杂性,因为我需要记住每个表中使用的是哪种存储引擎。

我想要实现的伪代码

class Model_1(models.Model):
# using InnoDB

class Model_2(models.Model):
# using MyISAM

最佳答案

老实说,除非您有非常具体的需要保留 MyISAM 表,否则您应该强烈考虑将它们迁移到 InnoDB。

如果您确实要走这条路线,您可以开始使用您自己的数据库路由器,如此处文档中指定的:https://docs.djangoproject.com/en/2.2/topics/db/multi-db/#automatic-database-routing

这将允许您开始为不同的模型指定不同的数据库适配器

关于mysql - 如何为Django(MySQL后端)中的每个表设置不同的存储引擎?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57094068/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com