From 580fb1c0d9b7c44cfe837e2a55fa872a0467fe0b Mon Sep 17 00:00:00 2001 From: Ivan Kuchin Date: Fri, 22 Nov 2024 20:02:28 +0100 Subject: [PATCH] use OPENPROJECT_SKIP_DB_ENCODING_CHECK environment variable to skip database encoding check --- config/initializers/05-check_db_encoding.rb | 36 ++++++++++++--------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/config/initializers/05-check_db_encoding.rb b/config/initializers/05-check_db_encoding.rb index afe594300cbe..0f3fa3d3c1ae 100644 --- a/config/initializers/05-check_db_encoding.rb +++ b/config/initializers/05-check_db_encoding.rb @@ -26,24 +26,28 @@ # See COPYRIGHT and LICENSE files for more details. #++ -icu_incompatible_encodings = %w[ - EUC_JIS_2004 - LATIN10 - MULE_INTERNAL - SQL_ASCII - WIN874 -] +if ENV["OPENPROJECT_SKIP_DB_ENCODING_CHECK"].blank? + icu_incompatible_encodings = %w[ + EUC_JIS_2004 + LATIN10 + MULE_INTERNAL + SQL_ASCII + WIN874 + ] -database_encoding = ActiveRecord::Base.connection.select_value("SHOW SERVER_ENCODING") + database_encoding = ActiveRecord::Base.connection.select_value("SHOW SERVER_ENCODING") -if database_encoding.in?(icu_incompatible_encodings) - abort <<~ERROR - INCOMPATIBLE DATABASE ENCODING DETECTED + if database_encoding.in?(icu_incompatible_encodings) + abort <<~ERROR + INCOMPATIBLE DATABASE ENCODING DETECTED - Your database encoding is #{database_encoding}, which is incompatible with ICU - collation used in OpenProject v15. + Your database encoding is #{database_encoding}, which is incompatible with ICU + collation used in OpenProject v15. - Please check the instructions on how to change database encoding: - https://www.openproject.org/docs/installation-and-operations/misc/changing-database-encoding/ - ERROR + Please check the instructions on how to change database encoding: + https://www.openproject.org/docs/installation-and-operations/misc/changing-database-encoding/ + + This check can be skipped by setting environment variable OPENPROJECT_SKIP_DB_ENCODING_CHECK=true + ERROR + end end