From 03e2cd5c5dc0aa0dd2aad323b2492a6af76b9ad8 Mon Sep 17 00:00:00 2001 From: Akhil Narang Date: Mon, 17 Mar 2025 16:36:27 +0530 Subject: [PATCH 1/2] Merge pull request #31523 from akhilnarang/set-mariadb-collation fix(mariadb): set collation in connection (cherry picked from commit 4a04b0a17f66520187ba0f4367988944c644fb74) # Conflicts: # frappe/patches.txt --- frappe/database/mariadb/database.py | 3 ++- frappe/patches.txt | 5 +++++ frappe/patches/v14_0/fix_user_settings_collation.py | 5 +++++ 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 frappe/patches/v14_0/fix_user_settings_collation.py diff --git a/frappe/database/mariadb/database.py b/frappe/database/mariadb/database.py index 49a68efde01a..8bb5f7eccedc 100644 --- a/frappe/database/mariadb/database.py +++ b/frappe/database/mariadb/database.py @@ -123,6 +123,7 @@ def get_connection_settings(self) -> dict: "user": self.user, "conv": self.CONVERSION_MAP, "charset": "utf8mb4", + "collation": "utf8mb4_unicode_ci", "use_unicode": True, } @@ -321,7 +322,7 @@ def create_user_settings_table(self): `doctype` VARCHAR(180) NOT NULL, `data` TEXT, UNIQUE(user, doctype) - ) ENGINE=InnoDB DEFAULT CHARSET=utf8""" + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci""" ) @staticmethod diff --git a/frappe/patches.txt b/frappe/patches.txt index 5b9dbb59f071..c30e66236855 100644 --- a/frappe/patches.txt +++ b/frappe/patches.txt @@ -238,3 +238,8 @@ frappe.integrations.doctype.oauth_client.patches.set_default_allowed_role_in_oau frappe.patches.v16_0.add_app_launcher_in_navbar_settings frappe.patches.v15_0.remove_workspace_settings_navbar_items frappe.patches.v16_0.move_role_desk_settings_to_user +<<<<<<< HEAD +======= +frappe.printing.doctype.print_format.patches.sets_wkhtmltopdf_as_default_for_pdf_generator_field +frappe.patches.v14_0.fix_user_settings_collation +>>>>>>> 4a04b0a17f (Merge pull request #31523 from akhilnarang/set-mariadb-collation) diff --git a/frappe/patches/v14_0/fix_user_settings_collation.py b/frappe/patches/v14_0/fix_user_settings_collation.py new file mode 100644 index 000000000000..9fc2e94bc42e --- /dev/null +++ b/frappe/patches/v14_0/fix_user_settings_collation.py @@ -0,0 +1,5 @@ +import frappe + + +def execute(): + frappe.db.sql("ALTER TABLE __UserSettings CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;") From 87860c7f39518c61c99d5080c2c4bf14177b728c Mon Sep 17 00:00:00 2001 From: Akhil Narang Date: Tue, 18 Mar 2025 11:56:19 +0530 Subject: [PATCH 2/2] chore: resolve conflicts --- frappe/patches.txt | 4 ---- 1 file changed, 4 deletions(-) diff --git a/frappe/patches.txt b/frappe/patches.txt index c30e66236855..c8ae417ad637 100644 --- a/frappe/patches.txt +++ b/frappe/patches.txt @@ -238,8 +238,4 @@ frappe.integrations.doctype.oauth_client.patches.set_default_allowed_role_in_oau frappe.patches.v16_0.add_app_launcher_in_navbar_settings frappe.patches.v15_0.remove_workspace_settings_navbar_items frappe.patches.v16_0.move_role_desk_settings_to_user -<<<<<<< HEAD -======= -frappe.printing.doctype.print_format.patches.sets_wkhtmltopdf_as_default_for_pdf_generator_field frappe.patches.v14_0.fix_user_settings_collation ->>>>>>> 4a04b0a17f (Merge pull request #31523 from akhilnarang/set-mariadb-collation)