我尝试过设置
DATABASES = {
'default': {
'NAME': 'db',
'ENGINE': 'mysql.connector.django',
'USER': 'dbuser',
'PASSWORD': 'dbpass',
'OPTIONS': {
'autocommit': True,
'init_command' : 'SET storage_engine=INNODB',
},
}
}
(UPD:更新了上面的代码,所以ppl不会因为我没有正确使用django设置而感到困惑)
在Django设置中,但是这个后端不接受这样的连接选项... http://dev.mysql.com/doc/connector-python/en/connector-python-connectargs.html
有没有其他方法可以做到这一点?
答案 0 :(得分:2)
您需要设置整个设置:
DATABASES = {
'default': {
'NAME': "MyDatabaseName,
'ENGINE': 'django.db.backends.mysql',
'USER': "MyUsername",
'PASSWORD': "MyPassword",
'HOST': "MyHostName",
'OPTIONS': {'init_command': 'SET storage_engine=INNODB'},
}
}
答案 1 :(得分:2)
首先,要使用MySQL Connector / Python Django后端,您必须将ENGINE
设置为mysql.connector.django
:
DATABASE = {
'default': {
..
'ENGINE': 'mysql.connector.django',
..
}
}
实际上,MySQL Connector / Python没有init_command
连接参数。我可以看到添加用于在Django OPTIONS中设置默认存储引擎的选项的价值。如果您真的需要,我建议您在http://bugs.mysql.com上打开功能请求。
请注意,MySQL 5.6(如果你刚开始使用此版本)默认情况下将存储引擎设置为InnoDB。