How to set Collation in MySQL database with Django 2.* mysqlclient?
Question:
I need to set default Collation for MySQL tables with Django 2.*, im using mysqlclient, my settings are:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '',
'USER': '',
'PASSWORD': '',
'HOST': 'localhost',
'PORT': '3306',
'OPTIONS': {
'charset': 'utf8mb4',
},
}
}
'charset': 'utf8mb4',
This parameter seems don’t work properly and tables in DB utf8. Although i want to manually set and tables Collation to utf8mb4_general_ci
Will be appreciate for any clues.
Answers:
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '',
'USER': '',
'PASSWORD': '',
'HOST': 'localhost',
'PORT': '3306',
'OPTIONS': {
'init_command': 'ALTER DATABASE <YOUR_DB_NAME> CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci',
},
}
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': get_env_val('MYSQL_DB_NAME'),
'USER': get_env_val('MYSQL_DB_USER'),
'PASSWORD': get_env_val('MYSQL_DB_PASSWORD'),
'HOST': get_env_val('MYSQL_DB_HOST'),
'PORT': get_env_val('MYSQL_DB_PORT'),
'OPTIONS': {
'charset': 'utf8mb4',
}
,
}
}
I need to set default Collation for MySQL tables with Django 2.*, im using mysqlclient, my settings are:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '',
'USER': '',
'PASSWORD': '',
'HOST': 'localhost',
'PORT': '3306',
'OPTIONS': {
'charset': 'utf8mb4',
},
}
}
'charset': 'utf8mb4',
This parameter seems don’t work properly and tables in DB utf8. Although i want to manually set and tables Collation to utf8mb4_general_ci
Will be appreciate for any clues.
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '',
'USER': '',
'PASSWORD': '',
'HOST': 'localhost',
'PORT': '3306',
'OPTIONS': {
'init_command': 'ALTER DATABASE <YOUR_DB_NAME> CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci',
},
}
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': get_env_val('MYSQL_DB_NAME'),
'USER': get_env_val('MYSQL_DB_USER'),
'PASSWORD': get_env_val('MYSQL_DB_PASSWORD'),
'HOST': get_env_val('MYSQL_DB_HOST'),
'PORT': get_env_val('MYSQL_DB_PORT'),
'OPTIONS': {
'charset': 'utf8mb4',
}
,
}
}