From ab976a9df541ddacbddc220bd1dd4ca97f3ac587 Mon Sep 17 00:00:00 2001 From: Fred Condo Date: Sun, 11 Mar 2012 12:53:01 -0700 Subject: [PATCH] BUGFIX, API CHANGE: Enable setting the DB timezone from the environment. - It was possible to set the database time zone from $databaseConfig, but not if you were using ConfigureFromEnv. - Introduces a new constant, SS_DATABASE_TIMEZONE --- conf/ConfigureFromEnv.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/conf/ConfigureFromEnv.php b/conf/ConfigureFromEnv.php index e7b5dd80f..2ce9f7ff3 100644 --- a/conf/ConfigureFromEnv.php +++ b/conf/ConfigureFromEnv.php @@ -15,6 +15,7 @@ * - SS_DATABASE_PASSWORD: The database password (mandatory) * - SS_DATABASE_SUFFIX: A suffix to add to the database name. * - SS_DATABASE_PREFIX: A prefix to add to the database name. + * - SS_DATABASE_TIMEZONE: Set the database timezone to something other than the system timezone. * * There is one more setting that is intended to be used by people who work on SilverStripe. * - SS_DATABASE_CHOOSE_NAME: Boolean/Int. If set, then the system will choose a default database name for you if one isn't give @@ -83,7 +84,12 @@ if(defined('SS_DATABASE_USERNAME') && defined('SS_DATABASE_PASSWORD')) { . $database . (defined('SS_DATABASE_SUFFIX') ? SS_DATABASE_SUFFIX : ''), ); - + + // Set the timezone if called for + if (defined('SS_DATABASE_TIMEZONE')) { + $databaseConfig['timezone'] = SS_DATABASE_TIMEZONE; + } + // For schema enabled drivers: if(defined('SS_DATABASE_SCHEMA')) $databaseConfig["schema"] = SS_DATABASE_SCHEMA;