我用我的设置,如数据库URL字符串:
DATABASES = {
'default': "mysql://root:@localhost:3306/mydb"
}
当我迁移我得到这样的警告:
MySQL Strict Mode is not set for database connection 'default'
现在我的问题:如何将二者结合起来的东西呢?
我不能使用“常规”的方式,因为我的数据库URL来自一个环境变量借助词典设置数据库设置。
Thx提前!
我用我的设置,如数据库URL字符串:
DATABASES = {
'default': "mysql://root:@localhost:3306/mydb"
}
当我迁移我得到这样的警告:
MySQL Strict Mode is not set for database connection 'default'
现在我的问题:如何将二者结合起来的东西呢?
我不能使用“常规”的方式,因为我的数据库URL来自一个环境变量借助词典设置数据库设置。
Thx提前!
你可以事后更新您的设置:
DATABASES['default']['OPTIONS'] = {'init_command': "SET sql_mode='STRICT_TRANS_TABLES'"}
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'test',
'HOST': '127.0.0.1',
'PORT': '3306',
'USER': 'root',
'PASSWORD': 'test123',
'OPTIONS': {
'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
'charset': 'utf8mb4',
}
}
}
尽量给数据库选项init_command在settings.py。如果想了解更多请参考该文档django_mysql.W001:严格模式
我认为,这将帮助你。 您可以通过选项 URL中的查询字符串
DATABASES = {
'default': dj_database_url.config(default="mssql://USER:PASSWORD@HOST:PORT/NAME?init_command=SET sql_mode='STRICT_TRANS_TABLES'&charset=utf8mb4", conn_max_age=500)
}