Skip to content

Commit

Permalink
Fixed issue: Error in update scripts for MSSQL server
Browse files Browse the repository at this point in the history
  • Loading branch information
c-schmitz committed Mar 19, 2012
1 parent 0ee9964 commit 0bd186d
Show file tree
Hide file tree
Showing 5 changed files with 101 additions and 102 deletions.
3 changes: 1 addition & 2 deletions admin/install/create-mssql.sql
Original file line number Diff line number Diff line change
Expand Up @@ -426,8 +426,7 @@ CREATE TABLE [prefix_users] (
[templateeditormode] char(7) default 'default',
[questionselectormode] char(7) default 'default',
[one_time_pw] TEXT NULL,
[dateformat] INT NOT NULL DEFAULT 1,
[participant_panel] TINYINT NOT NULL DEFAULT '0'
[dateformat] INT NOT NULL DEFAULT 1
);


Expand Down
95 changes: 47 additions & 48 deletions admin/install/create-mssqlnative.sql
Original file line number Diff line number Diff line change
Expand Up @@ -328,29 +328,29 @@ CREATE TABLE [prefix_surveys] (
-- Table structure for table surveys_languagesettings
--
CREATE TABLE [prefix_surveys_languagesettings] (
[surveyls_survey_id] INT NOT NULL DEFAULT 0,
[surveyls_language] VARCHAR(45) NOT NULL DEFAULT 'en',
[surveyls_title] VARCHAR(200) NOT NULL,
[surveyls_description] varchar(max) NULL,
[surveyls_welcometext] varchar(max) NULL,
[surveyls_endtext] varchar(max) NULL,
[surveyls_url] VARCHAR(255) NULL,
[surveyls_urldescription] VARCHAR(255) NULL,
[surveyls_email_invite_subj] VARCHAR(255) NULL,
[surveyls_email_invite] varchar(max) NULL,
[surveyls_email_remind_subj] VARCHAR(255) NULL,
[surveyls_email_remind] varchar(max) NULL,
[surveyls_email_register_subj] VARCHAR(255) NULL,
[surveyls_email_register] varchar(max) NULL,
[surveyls_email_confirm_subj] VARCHAR(255) NULL,
[surveyls_email_confirm] varchar(max) NULL,
[surveyls_dateformat] INT NOT NULL DEFAULT 1,
[email_admin_notification_subj] VARCHAR(255) NULL,
[email_admin_notification] varchar(max) NULL,
[email_admin_responses_subj] VARCHAR(255) NULL,
[email_admin_responses] varchar(max) NULL,
[surveyls_numberformat] INT NOT NULL DEFAULT 0,
PRIMARY KEY ([surveyls_survey_id],[surveyls_language])
[surveyls_survey_id] INT NOT NULL DEFAULT 0,
[surveyls_language] VARCHAR(45) NOT NULL DEFAULT 'en',
[surveyls_title] VARCHAR(200) NOT NULL,
[surveyls_description] varchar(max) NULL,
[surveyls_welcometext] varchar(max) NULL,
[surveyls_endtext] varchar(max) NULL,
[surveyls_url] VARCHAR(255) NULL,
[surveyls_urldescription] VARCHAR(255) NULL,
[surveyls_email_invite_subj] VARCHAR(255) NULL,
[surveyls_email_invite] varchar(max) NULL,
[surveyls_email_remind_subj] VARCHAR(255) NULL,
[surveyls_email_remind] varchar(max) NULL,
[surveyls_email_register_subj] VARCHAR(255) NULL,
[surveyls_email_register] varchar(max) NULL,
[surveyls_email_confirm_subj] VARCHAR(255) NULL,
[surveyls_email_confirm] varchar(max) NULL,
[surveyls_dateformat] INT NOT NULL DEFAULT 1,
[email_admin_notification_subj] VARCHAR(255) NULL,
[email_admin_notification] varchar(max) NULL,
[email_admin_responses_subj] VARCHAR(255) NULL,
[email_admin_responses] varchar(max) NULL,
[surveyls_numberformat] INT NOT NULL DEFAULT 0,
PRIMARY KEY ([surveyls_survey_id],[surveyls_language])
)
;

Expand Down Expand Up @@ -428,20 +428,19 @@ CREATE TABLE [prefix_users] (
[templateeditormode] char(7) default 'default',
[questionselectormode] char(7) default 'default',
[one_time_pw] varchar(max),
[dateformat] INT NOT NULL DEFAULT 1,
[participant_panel] TINYINT NOT NULL DEFAULT '0'
[dateformat] INT NOT NULL DEFAULT 1
);


--
-- Table structure for table templates_rights
--
CREATE TABLE [prefix_templates_rights] (
[uid] int NOT NULL,
[folder] varchar(255) NOT NULL,
[use] int NOT NULL,
PRIMARY KEY ([uid],[folder])
);
[uid] int NOT NULL,
[folder] varchar(255) NOT NULL,
[use] int NOT NULL,
PRIMARY KEY ([uid],[folder])
);


--
Expand Down Expand Up @@ -485,49 +484,49 @@ CREATE TABLE [prefix_participant_attribute_names] (
CREATE TABLE [prefix_participant_attribute_names_lang] (
[id] integer NOT NULL IDENTITY,
[attribute_id] integer NOT NULL,
[attribute_name] varchar(30) NOT NULL,
[lang] varchar(20) NOT NULL,
PRIMARY KEY ([attribute_id],[lang])
);
[attribute_name] varchar(30) NOT NULL,
[lang] varchar(20) NOT NULL,
PRIMARY KEY ([attribute_id],[lang])
);
--
-- Table structure for table participant attribute values
--
CREATE TABLE [prefix_participant_attribute_values] (
[attribute_id] integer NOT NULL,
[value_id] integer NOT NULL IDENTITY,
[value] varchar(20) NOT NULL,
PRIMARY KEY ([value_id])
);
[value] varchar(20) NOT NULL,
PRIMARY KEY ([value_id])
);
--
-- Table structure for table participant shares
--
CREATE TABLE [prefix_participant_shares] (
[participant_id] varchar(50) NOT NULL,
[participant_id] varchar(50) NOT NULL,
[share_uid] integer NOT NULL,
[date_added] datetime,
[can_edit] vrachar(max) NOT NULL,
[date_added] datetime,
[can_edit] varchar(max) NOT NULL,
PRIMARY KEY ([participant_id],[share_uid])
);
);
--
-- Table structure for table survey links
--
CREATE TABLE [prefix_survey_links] (
[participant_id] varchar(50) NOT NULL,
[participant_id] varchar(50) NOT NULL,
[token_id] integer NOT NULL,
[survey_id] integer NOT NULL,
[date_created] datetime
PRIMARY KEY ([participant_id],[token_id],[survey_id])
);
PRIMARY KEY ([participant_id],[token_id],[survey_id])
);


--
-- Table structure for table templates
--
CREATE TABLE [prefix_templates] (
[folder] varchar(255) NOT NULL,
[creator] int NOT NULL,
PRIMARY KEY ([folder])
);
[folder] varchar(255) NOT NULL,
[creator] int NOT NULL,
PRIMARY KEY ([folder])
);


--
Expand Down
4 changes: 2 additions & 2 deletions admin/update/upgrade-all.php
Original file line number Diff line number Diff line change
Expand Up @@ -60,15 +60,15 @@ function upgrade_question_attributes148()
$sDBPrefix=$dbprefix;
$sSurveyQuery = "SELECT sid FROM {$sDBPrefix}surveys";
$oSurveyResult = db_execute_assoc($sSurveyQuery);
foreach ( $oSurveyResult->FetchRow() as $aSurveyRow)
while ( $aSurveyRow = $oSurveyResult->FetchRow() )
{
$surveyid=$aSurveyRow['sid'];
$languages=array_merge(array(GetBaseLanguageFromSurveyID($surveyid)), GetAdditionalLanguagesFromSurveyID($surveyid));

$sAttributeQuery = "select q.qid,attribute,value from {$sDBPrefix}question_attributes qa , {$sDBPrefix}questions q where q.qid=qa.qid and sid={$surveyid}";
$oAttributeResult = db_execute_assoc($sAttributeQuery);
$aAllAttributes = questionAttributes(true);
foreach ( $oAttributeResult->FetchRow() as $aAttributeRow)
while ( $aAttributeRow = $oAttributeResult->FetchRow() )
{
if (isset($aAllAttributes[$aAttributeRow['attribute']]['i18n']) && $aAllAttributes[$aAttributeRow['attribute']]['i18n'])
{
Expand Down
43 changes: 22 additions & 21 deletions admin/update/upgrade-mssql.php
Original file line number Diff line number Diff line change
Expand Up @@ -494,44 +494,44 @@ function db_upgrade($oldversion) {
[email] varchar(80) NOT NULL,
[language] varchar(2) NOT NULL,
[blacklisted] varchar(1) NOT NULL,
[owner_uid] int(20) NOT NULL,
[owner_uid] integer NOT NULL,
PRIMARY KEY ([participant_id])
);");echo $modifyoutput; flush();ob_flush();
modify_database("","CREATE TABLE [prefix_participant_attribute] (
[participant_id] varchar(50) NOT NULL,
[attribute_id] int(11) NOT NULL,
[attribute_id] integer NOT NULL,
[value] varchar(50) NOT NULL,
PRIMARY KEY ([participant_id],[attribute_id])
);");echo $modifyoutput; flush();ob_flush();
modify_database("","CREATE TABLE [prefix_participant_attribute_names] (
[attribute_id] int(11) NOT NULL AUTO_INCREMENT,
[attribute_id] integer NOT NULL IDENTITY (1,1),
[attribute_type] varchar(4) NOT NULL,
[visible] char(5) NOT NULL,
PRIMARY KEY ([attribute_id],[attribute_type])
);");echo $modifyoutput; flush();ob_flush();
modify_database("","CREATE TABLE [prefix_participant_attribute_names_lang] (
[attribute_id] int(11) NOT NULL,
[attribute_id] integer NOT NULL,
[attribute_name] varchar(30) NOT NULL,
[lang] varchar(20) NOT NULL,
PRIMARY KEY ([attribute_id],[lang])
);");echo $modifyoutput; flush();ob_flush();
modify_database("","CREATE TABLE [prefix_participant_attribute_values] (
[attribute_id] int(11) NOT NULL,
[value_id] int(11) NOT NULL AUTO_INCREMENT,
[attribute_id] integer NOT NULL,
[value_id] integer NOT NULL IDENTITY (1,1),
[value] varchar(20) NOT NULL,
PRIMARY KEY ([value_id])
);");echo $modifyoutput; flush();ob_flush();
modify_database("","CREATE TABLE [prefix_participant_shares] (
[participant_id] varchar(50) NOT NULL,
[share_uid] int(11) NOT NULL,
[share_uid] integer NOT NULL,
[date_added] datetime,
[can_edit] text NOT NULL,
PRIMARY KEY ([participant_id],[share_uid])
);");echo $modifyoutput; flush();ob_flush();
modify_database("","CREATE TABLE [prefix_survey_links] (
[participant_id] varchar(50) NOT NULL,
[token_id] int(11) NOT NULL,
[survey_id] int(11) NOT NULL,
[token_id] integer NOT NULL,
[survey_id] integer NOT NULL,
[date_created] datetime,
PRIMARY KEY ([participant_id],[token_id],[survey_id])
);");echo $modifyoutput; flush();ob_flush();
Expand All @@ -547,35 +547,35 @@ function db_upgrade($oldversion) {
if ($oldversion < 149)
{
modify_database("","CREATE TABLE [prefix_survey_url_parameters] (
[id] int(9) NOT NULL AUTO_INCREMENT,
[sid] int(10) NOT NULL,
[id] integer NOT NULL IDENTITY (1,1),
[sid] integer NOT NULL,
[parameter] varchar(50) NOT NULL,
[targetqid] int(10) NULL,
[targetsqid] int(10) NULL,
[targetqid] integer NULL,
[targetsqid] integer NULL,
PRIMARY KEY ([id])
);"); echo $modifyoutput; flush();@ob_flush();
modify_database("", "UPDATE [prefix_settings_global] SET stg_value='149' WHERE stg_name='DBVersion'"); echo $modifyoutput; flush();ob_flush();
modify_database("","update [prefix_settings_global] set [stg_value]='149' where stg_name='DBVersion'"); echo $modifyoutput; flush();@ob_flush();

}
if ($oldversion < 150)
{
modify_database("","ALTER TABLE [prefix_questions] ADD [relevance] TEXT;"); echo $modifyoutput; flush();@ob_flush();
modify_database("", "UPDATE [prefix_settings_global] SET stg_value='150' WHERE stg_name='DBVersion'"); echo $modifyoutput; flush();ob_flush();
modify_database("","ALTER TABLE [prefix_questions] ADD [relevance] varchar(max);"); echo $modifyoutput; flush();@ob_flush();
modify_database("","update [prefix_settings_global] set [stg_value]='150' where stg_name='DBVersion'"); echo $modifyoutput; flush();@ob_flush();
}
if ($oldversion < 151)
{
modify_database("","ALTER TABLE [prefix_groups] ADD [randomization_group] VARCHAR(20) NOT NULL DEFAULT '';"); echo $modifyoutput; flush();@ob_flush();
modify_database("", "UPDATE [prefix_settings_global] SET stg_value='151' WHERE stg_name='DBVersion'"); echo $modifyoutput; flush();ob_flush();
modify_database("","update [prefix_settings_global] set [stg_value]='151' where stg_name='DBVersion'"); echo $modifyoutput; flush();@ob_flush();
}
if ($oldversion < 152)
{
modify_database("","CREATE INDEX [question_attributes_idx3] ON [prefix_question_attributes] ([attribute]);"); echo $modifyoutput; flush();@ob_flush();
modify_database("", "UPDATE [prefix_settings_global] SET stg_value='152' WHERE stg_name='DBVersion'"); echo $modifyoutput; flush();ob_flush();
modify_database("","update [prefix_settings_global] set [stg_value]='152' where stg_name='DBVersion'"); echo $modifyoutput; flush();@ob_flush();
}
if ($oldversion < 153)
{
modify_database("","CREATE TABLE [prefix_expression_errors] (
[id] integer NOT NULL AUTO_INCREMENT,
[id] integer NOT NULL IDENTITY (1,1),
[errortime] varchar(50) DEFAULT NULL,
[sid] integer DEFAULT NULL,
[gid] integer DEFAULT NULL,
Expand All @@ -593,15 +593,16 @@ function db_upgrade($oldversion) {
{
modify_database("","ALTER TABLE [prefix_groups] ADD [grelevance] text DEFAULT NULL;"); echo $modifyoutput; flush();@ob_flush();
LimeExpressionManager::UpgradeConditionsToRelevance();
modify_database("", "UPDATE [prefix_settings_global] SET stg_value='154' WHERE stg_name='DBVersion'"); echo $modifyoutput; flush();ob_flush();
modify_database("","update [prefix_settings_global] set [stg_value]='154' where stg_name='DBVersion'"); echo $modifyoutput; flush();@ob_flush();
}
if ($oldversion < 155)
{
modify_database("","ALTER TABLE [prefix_surveys] ADD [googleanalyticsstyle] char(1) DEFAULT NULL;"); echo $modifyoutput; flush();@ob_flush();
modify_database("","ALTER TABLE [prefix_surveys] ADD [googleanalyticsapikey] varchar(25) DEFAULT NULL;"); echo $modifyoutput; flush();@ob_flush();
modify_database("","EXEC sp_rename 'prefix_surveys.showXquestions','showxquestions'"); echo $modifyoutput; flush();@ob_flush();
modify_database("", "UPDATE [prefix_settings_global] SET stg_value='155' WHERE stg_name='DBVersion'"); echo $modifyoutput; flush();ob_flush();
modify_database("", "UPDATE [prefix_settings_global] SET [stg_value]='155' WHERE stg_name='DBVersion'"); echo $modifyoutput; flush();ob_flush();
}

echo '<br /><br />'.sprintf($clang->gT('Database update finished (%s)'),date('Y-m-d H:i:s')).'<br />';
return true;
}
Expand Down

2 comments on commit 0bd186d

@TMSWhite
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs to be ported to Yii?

@c-schmitz
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

Please sign in to comment.