Renamed priv_Userinternal into priv_userinternal, and added a check for table names (lowercase is the rule!)

SVN:trunk[2435]
This commit is contained in:
Romain Quetiez
2012-11-21 09:41:53 +00:00
parent 4d85ff60ab
commit bedbc387eb
3 changed files with 24 additions and 1 deletions

View File

@@ -532,6 +532,21 @@ class ApplicationInstaller
$oProductionEnv = new RunTimeEnvironment($sTargetEnvironment);
$oProductionEnv->InitDataModel($oConfig, true); // load data model only
// Migrate application data format
//
// priv_internalUser caused troubles because MySQL transforms table names to lower case under Windows
// This becomes an issue when moving your installation data to/from Windows
// Starting 2.0, all table names must be lowercase
if ($sMode != 'install')
{
SetupPage::log_info("Renaming 'priv_internalUser' into 'priv_internaluser' (lowercase)");
// This command will have no effect under Windows...
// and it has been written in two steps so as to make it work under windows!
$sRepair = "RENAME TABLE `priv_internalUser` TO `priv_internaluser_other`, `priv_internaluser_other` TO `priv_internaluser`";
CMDBSource::SelectDB($sDBName);
CMDBSource::Query($sRepair);
}
// Module specific actions (migrate the data)
//
$aAvailableModules = $oProductionEnv->AnalyzeInstallation(MetaModel::GetConfig(), APPROOT.$sModulesDir);