/** * @return bool */ public function schema_changes_before_migration() { //relies on 4.1's EEH_Activation::create_table require_once EE_HELPERS . 'EEH_Activation.helper.php'; $table_name = 'esp_answer'; $sql = " ANS_ID INT UNSIGNED NOT NULL AUTO_INCREMENT,\n\t\t\t\t\tREG_ID INT UNSIGNED NOT NULL,\n\t\t\t\t\tQST_ID INT UNSIGNED NOT NULL,\n\t\t\t\t\tANS_value TEXT NOT NULL,\n\t\t\t\t\tPRIMARY KEY (ANS_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_attendee_meta'; $sql = "ATTM_ID INT(10) UNSIGNED NOT\tNULL AUTO_INCREMENT,\n\t\t\t\t\t\tATT_ID BIGINT(20) UNSIGNED NOT NULL,\n\t\t\t\t\t\tATT_fname VARCHAR(45) NOT NULL,\n\t\t\t\t\t\tATT_lname VARCHAR(45) NOT\tNULL,\n\t\t\t\t\t\tATT_address VARCHAR(255) DEFAULT\tNULL,\n\t\t\t\t\t\tATT_address2 VARCHAR(255) DEFAULT\tNULL,\n\t\t\t\t\t\tATT_city VARCHAR(45) DEFAULT\tNULL,\n\t\t\t\t\t\tSTA_ID INT(10) DEFAULT\tNULL,\n\t\t\t\t\t\tCNT_ISO VARCHAR(45) DEFAULT\tNULL,\n\t\t\t\t\t\tATT_zip VARCHAR(12) DEFAULT\tNULL,\n\t\t\t\t\t\tATT_email VARCHAR(255) NOT NULL,\n\t\t\t\t\t\tATT_phone VARCHAR(45) DEFAULT NULL,\n\t\t\t\t\t\t\tPRIMARY KEY (ATTM_ID),\n\t\t\t\t\t\t\t\tKEY ATT_fname (ATT_fname),\n\t\t\t\t\t\t\t\tKEY ATT_lname (ATT_lname),\n\t\t\t\t\t\t\t\tKEY ATT_email (ATT_email)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB '); $table_name = 'esp_country'; $sql = "CNT_ISO VARCHAR(2) COLLATE utf8_bin NOT NULL,\n\t\t\t\t\t CNT_ISO3 VARCHAR(3) COLLATE utf8_bin NOT NULL,\n\t\t\t\t\t RGN_ID TINYINT(3) UNSIGNED DEFAULT NULL,\n\t\t\t\t\t CNT_name VARCHAR(45) COLLATE utf8_bin NOT NULL,\n\t\t\t\t\t CNT_cur_code VARCHAR(6) COLLATE utf8_bin DEFAULT 'USD',\n\t\t\t\t\t CNT_cur_single VARCHAR(45) COLLATE utf8_bin DEFAULT 'dollar',\n\t\t\t\t\t CNT_cur_plural VARCHAR(45) COLLATE utf8_bin DEFAULT 'dollars',\n\t\t\t\t\t CNT_cur_sign VARCHAR(45) COLLATE utf8_bin DEFAULT '\$',\n\t\t\t\t\t CNT_cur_sign_b4 TINYINT(1) DEFAULT '1',\n\t\t\t\t\t CNT_cur_dec_plc TINYINT(3) UNSIGNED NOT NULL DEFAULT '2',\n\t\t\t\t\t CNT_cur_dec_mrk VARCHAR(1) COLLATE utf8_bin NOT NULL DEFAULT '.',\n\t\t\t\t\t CNT_cur_thsnds VARCHAR(1) COLLATE utf8_bin NOT NULL DEFAULT ',',\n\t\t\t\t\t CNT_tel_code VARCHAR(12) COLLATE utf8_bin DEFAULT NULL,\n\t\t\t\t\t CNT_is_EU TINYINT(1) DEFAULT '0',\n\t\t\t\t\t CNT_active TINYINT(1) DEFAULT '0',\n\t\t\t\t\t PRIMARY KEY (CNT_ISO)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_currency'; $sql = "CUR_code VARCHAR(6) COLLATE utf8_bin NOT NULL,\n\t\t\t\tCUR_single VARCHAR(45) COLLATE utf8_bin DEFAULT 'dollar',\n\t\t\t\tCUR_plural VARCHAR(45) COLLATE utf8_bin DEFAULT 'dollars',\n\t\t\t\tCUR_sign VARCHAR(45) COLLATE utf8_bin DEFAULT '\$',\n\t\t\t\tCUR_dec_plc VARCHAR(1) COLLATE utf8_bin NOT NULL DEFAULT '2',\n\t\t\t\tCUR_active TINYINT(1) DEFAULT '0',\n\t\t\t\tPRIMARY KEY (CUR_code)"; $this->_table_is_new_in_this_version($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_currency_payment_method'; $sql = "CPM_ID INT(11) NOT NULL AUTO_INCREMENT,\n\t\t\t\tCUR_code VARCHAR(6) COLLATE utf8_bin NOT NULL,\n\t\t\t\tPMD_ID INT(11) NOT NULL,\n\t\t\t\tPRIMARY KEY (CPM_ID)"; $this->_table_is_new_in_this_version($table_name, $sql, 'ENGINE=InnoDB '); $table_name = 'esp_datetime'; $sql = "DTT_ID INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,\n\t\t\t\t EVT_ID BIGINT(20) UNSIGNED NOT NULL,\n\t\t\t\t DTT_name VARCHAR(255) NOT NULL DEFAULT '',\n\t\t\t\t DTT_description TEXT NOT NULL,\n\t\t\t\t DTT_EVT_start DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',\n\t\t\t\t DTT_EVT_end DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',\n\t\t\t\t DTT_reg_limit MEDIUMINT(8) DEFAULT -1,\n\t\t\t\t DTT_sold MEDIUMINT(8) UNSIGNED DEFAULT 0,\n\t\t\t\t DTT_is_primary TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,\n\t\t\t\t DTT_order MEDIUMINT(3) UNSIGNED DEFAULT 0,\n\t\t\t\t DTT_parent INT(10) UNSIGNED DEFAULT 0,\n\t\t\t\t DTT_deleted TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,\n\t\t\t\t\t\tPRIMARY KEY (DTT_ID),\n\t\t\t\t\t\tKEY EVT_ID (EVT_ID),\n\t\t\t\t\t\tKEY DTT_is_primary (DTT_is_primary)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_event_meta'; $sql = "\n\t\t\tEVTM_ID INT NOT NULL AUTO_INCREMENT,\n\t\t\tEVT_ID BIGINT(20) UNSIGNED NOT NULL,\n\t\t\tEVT_display_desc TINYINT(1) UNSIGNED NOT NULL DEFAULT 1,\n\t\t\tEVT_display_ticket_selector TINYINT(1) UNSIGNED NOT NULL DEFAULT 1,\n\t\t\tEVT_visible_on DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',\n\t\t\tEVT_default_registration_status VARCHAR(3),\n\t\t\tEVT_phone VARCHAR(45) DEFAULT NULL,\n\t\t\tEVT_additional_limit TINYINT UNSIGNED NULL,\n\t\t\tEVT_member_only TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,\n\t\t\tEVT_allow_overflow TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,\n\t\t\tEVT_timezone_string VARCHAR(45) NULL,\n\t\t\tEVT_external_URL VARCHAR(200) NULL,\n\t\t\tEVT_donations TINYINT(1) NULL,\n\t\t\tPRIMARY KEY (EVTM_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_event_question_group'; $sql = "EQG_ID INT UNSIGNED NOT NULL AUTO_INCREMENT,\n\t\t\t\t\tEVT_ID BIGINT(20) UNSIGNED NOT NULL,\n\t\t\t\t\tQSG_ID INT UNSIGNED NOT NULL,\n\t\t\t\t\tEQG_primary TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,\n\t\t\t\t\tPRIMARY KEY (EQG_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_event_venue'; $sql = "EVV_ID INT(11) NOT NULL AUTO_INCREMENT,\n\t\t\t\tEVT_ID BIGINT(20) UNSIGNED NOT NULL,\n\t\t\t\tVNU_ID BIGINT(20) UNSIGNED NOT NULL,\n\t\t\t\tEVV_primary TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,\n\t\t\t\tPRIMARY KEY (EVV_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_extra_meta'; $sql = "EXM_ID INT(11) NOT NULL AUTO_INCREMENT,\n\t\t\t\tOBJ_ID INT(11) DEFAULT NULL,\n\t\t\t\tEXM_type VARCHAR(45) DEFAULT NULL,\n\t\t\t\tEXM_key VARCHAR(45) DEFAULT NULL,\n\t\t\t\tEXM_value TEXT,\n\t\t\t\tPRIMARY KEY (EXM_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_line_item'; $sql = "LIN_ID INT(11) NOT NULL AUTO_INCREMENT,\n\t\t\t\tLIN_code VARCHAR(245) NOT NULL DEFAULT '',\n\t\t\t\tTXN_ID INT(11) DEFAULT NULL,\n\t\t\t\tLIN_name VARCHAR(245) NOT NULL DEFAULT '',\n\t\t\t\tLIN_desc TEXT DEFAULT NULL,\n\t\t\t\tLIN_unit_price DECIMAL(10,3) DEFAULT NULL,\n\t\t\t\tLIN_percent DECIMAL(10,3) DEFAULT NULL,\n\t\t\t\tLIN_is_taxable TINYINT(1) DEFAULT 0,\n\t\t\t\tLIN_order int DEFAULT 0,\n\t\t\t\tLIN_parent int DEFAULT 0,\n\t\t\t\tLIN_type VARCHAR(25) NOT NULL,\n\t\t\t\tLIN_total DECIMAL(10,3) DEFAULT NULL,\n\t\t\t\tLIN_quantity INT(10) DEFAULT NULL,\n\t\t\t\tOBJ_ID INT(11) DEFAULT NULL,\n\t\t\t\tOBJ_type VARCHAR(45)DEFAULT NULL,\n\t\t\t\tPRIMARY KEY (LIN_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_log'; $sql = "LOG_ID INT(11) NOT NULL AUTO_INCREMENT,\n\t\t\t\tLOG_time DATETIME DEFAULT NULL,\n\t\t\t\tOBJ_ID VARCHAR(45) DEFAULT NULL,\n\t\t\t\tOBJ_type VARCHAR(45) DEFAULT NULL,\n\t\t\t\tLOG_type VARCHAR(45) DEFAULT NULL,\n\t\t\t\tLOG_message TEXT,\n\t\t\t\tLOG_wp_user INT(11) DEFAULT NULL,\n\t\t\t\tPRIMARY KEY (LOG_ID)"; $this->_table_is_new_in_this_version($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_message_template'; $sql = "MTP_ID INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,\n\t\t\t\t\tGRP_ID INT(10) UNSIGNED NOT NULL,\n\t\t\t\t\tMTP_context VARCHAR(50) NOT NULL,\n\t\t\t\t\tMTP_template_field VARCHAR(30) NOT NULL,\n\t\t\t\t\tMTP_content TEXT NOT NULL,\n\t\t\t\t\tPRIMARY KEY (MTP_ID),\n\t\t\t\t\tKEY GRP_ID (GRP_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); EEH_Activation::drop_index('esp_message_template_group', 'EVT_ID'); $table_name = 'esp_message_template_group'; $sql = "GRP_ID INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,\n\t\t\t\t\tMTP_user_id INT(10) NOT NULL DEFAULT '1',\n\t\t\t\t\tMTP_name VARCHAR(245) NOT NULL DEFAULT '',\n\t\t\t\t\tMTP_description VARCHAR(245) NOT NULL DEFAULT '',\n\t\t\t\t\tMTP_messenger VARCHAR(30) NOT NULL,\n\t\t\t\t\tMTP_message_type VARCHAR(50) NOT NULL,\n\t\t\t\t\tMTP_is_global TINYINT(1) NOT NULL DEFAULT '0',\n\t\t\t\t\tMTP_is_override TINYINT(1) NOT NULL DEFAULT '0',\n\t\t\t\t\tMTP_deleted TINYINT(1) NOT NULL DEFAULT '0',\n\t\t\t\t\tMTP_is_active TINYINT(1) NOT NULL DEFAULT '1',\n\t\t\t\t\tPRIMARY KEY (GRP_ID),\n\t\t\t\t\tKEY MTP_user_id (MTP_user_id)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_event_message_template'; $sql = "EMT_ID BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,\n\t\t\t\t\tEVT_ID BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,\n\t\t\t\t\tGRP_ID INT(10) UNSIGNED NOT NULL DEFAULT 0,\n\t\t\t\t\tPRIMARY KEY (EMT_ID),\n\t\t\t\t\tKEY EVT_ID (EVT_ID),\n\t\t\t\t\tKEY GRP_ID (GRP_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_payment'; $sql = "PAY_ID INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,\n\t\t\t\t\tTXN_ID INT(10) UNSIGNED DEFAULT NULL,\n\t\t\t\t\tSTS_ID VARCHAR(3) COLLATE utf8_bin DEFAULT NULL,\n\t\t\t\t\tPAY_timestamp DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',\n\t\t\t\t\tPAY_source VARCHAR(45) COLLATE utf8_bin DEFAULT NULL,\n\t\t\t\t\tPAY_amount DECIMAL(10,3) DEFAULT NULL,\n\t\t\t\t\tPMD_ID INT(11) DEFAULT NULL,\n\t\t\t\t\tPAY_gateway_response TEXT COLLATE utf8_bin,\n\t\t\t\t\tPAY_txn_id_chq_nmbr VARCHAR(32) COLLATE utf8_bin DEFAULT NULL,\n\t\t\t\t\tPAY_po_number VARCHAR(32) COLLATE utf8_bin DEFAULT NULL,\n\t\t\t\t\tPAY_extra_accntng VARCHAR(45) COLLATE utf8_bin DEFAULT NULL,\n\t\t\t\t\tPAY_details TEXT COLLATE utf8_bin,\n\t\t\t\t\tPAY_redirect_url VARCHAR(300),\n\t\t\t\t\tPAY_redirect_args TEXT,\n\t\t\t\t\tPRIMARY KEY (PAY_ID),\n\t\t\t\t\tKEY TXN_ID (TXN_ID),\n\t\t\t\t\tKEY PAY_timestamp (PAY_timestamp)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB '); $table_name = 'esp_payment_method'; $sql = "PMD_ID INT(11) NOT NULL AUTO_INCREMENT,\n\t\t\t\tPMD_type VARCHAR(124) DEFAULT NULL,\n\t\t\t\tPMD_name VARCHAR(255) DEFAULT NULL,\n\t\t\t\tPMD_desc TEXT,\n\t\t\t\tPMD_admin_name VARCHAR(255) DEFAULT NULL,\n\t\t\t\tPMD_admin_desc TEXT,\n\t\t\t\tPMD_slug VARCHAR(124) DEFAULT NULL,\n\t\t\t\tPMD_order INT(11) DEFAULT NULL,\n\t\t\t\tPMD_debug_mode TINYINT(1) NOT NULL DEFAULT '0',\n\t\t\t\tPMD_wp_user INT(11) NOT NULL DEFAULT '0',\n\t\t\t\tPMD_open_by_default TINYINT(1) NOT NULL DEFAULT '0',\n\t\t\t\tPMD_button_url VARCHAR(1012) DEFAULT NULL,\n\t\t\t\tPMD_scope VARCHAR(255) NULL DEFAULT 'frontend',\n\t\t\t\tPRIMARY KEY (PMD_ID),\n\t\t\t\tUNIQUE KEY PMD_slug_UNIQUE (PMD_slug)"; $this->_table_is_new_in_this_version($table_name, $sql, 'ENGINE=InnoDB '); $table_name = "esp_ticket_price"; $sql = "TKP_ID INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,\n\t\t\t\t\t TKT_ID INT(10) UNSIGNED NOT NULL,\n\t\t\t\t\t PRC_ID INT(10) UNSIGNED NOT NULL,\n\t\t\t\t\t PRIMARY KEY (TKP_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = "esp_datetime_ticket"; $sql = "DTK_ID INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,\n\t\t\t\t\t DTT_ID INT(10) UNSIGNED NOT NULL,\n\t\t\t\t\t TKT_ID INT(10) UNSIGNED NOT NULL,\n\t\t\t\t\t PRIMARY KEY (DTK_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = "esp_ticket_template"; $sql = "TTM_ID INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,\n\t\t\t\t\t TTM_name VARCHAR(45) NOT NULL,\n\t\t\t\t\t TTM_description TEXT,\n\t\t\t\t\t TTM_file VARCHAR(45),\n\t\t\t\t\t PRIMARY KEY (TTM_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_question'; $sql = 'QST_ID INT UNSIGNED NOT NULL AUTO_INCREMENT, QST_display_text TEXT NOT NULL, QST_admin_label VARCHAR(255) NOT NULL, QST_system VARCHAR(25) DEFAULT NULL, QST_type VARCHAR(25) NOT NULL DEFAULT "TEXT", QST_required TINYINT(1) UNSIGNED NOT NULL DEFAULT 0, QST_required_text VARCHAR(100) NULL, QST_order TINYINT UNSIGNED NOT NULL DEFAULT 0, QST_admin_only TINYINT(1) NOT NULL DEFAULT 0, QST_wp_user BIGINT UNSIGNED NULL, QST_deleted TINYINT UNSIGNED NOT NULL DEFAULT 0, PRIMARY KEY (QST_ID)'; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_question_group_question'; $sql = "QGQ_ID INT UNSIGNED NOT NULL AUTO_INCREMENT,\n\t\t\t\t\tQSG_ID INT UNSIGNED NOT NULL,\n\t\t\t\t\tQST_ID INT UNSIGNED NOT NULL,\n\t\t\t\t\tQGQ_order INT UNSIGNED NOT NULL DEFAULT 0,\n\t\t\t\t\tPRIMARY KEY (QGQ_ID) "; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_question_option'; $sql = "QSO_ID INT UNSIGNED NOT NULL AUTO_INCREMENT,\n\t\t\t\t\tQSO_value VARCHAR(255) NOT NULL,\n\t\t\t\t\tQSO_desc TEXT NOT NULL,\n\t\t\t\t\tQST_ID INT UNSIGNED NOT NULL,\n\t\t\t\t\tQSO_order INT UNSIGNED NOT NULL DEFAULT 0,\n\t\t\t\t\tQSO_deleted TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,\n\t\t\t\t\tPRIMARY KEY (QSO_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_registration'; $sql = "REG_ID INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,\n\t\t\t\t\t EVT_ID BIGINT(20) UNSIGNED NOT NULL,\n\t\t\t\t\t ATT_ID BIGINT(20) UNSIGNED NOT NULL,\n\t\t\t\t\t TXN_ID INT(10) UNSIGNED NOT NULL,\n\t\t\t\t\t TKT_ID INT(10) UNSIGNED NOT NULL,\n\t\t\t\t\t STS_ID VARCHAR(3) COLLATE utf8_bin NOT NULL DEFAULT 'RPP',\n\t\t\t\t\t REG_date DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',\n\t\t\t\t\t REG_final_price DECIMAL(10,3) NOT NULL DEFAULT '0.00',\n\t\t\t\t\t REG_session VARCHAR(45) COLLATE utf8_bin NOT NULL,\n\t\t\t\t\t REG_code VARCHAR(45) COLLATE utf8_bin DEFAULT NULL,\n\t\t\t\t\t REG_url_link VARCHAR(64) COLLATE utf8_bin DEFAULT NULL,\n\t\t\t\t\t REG_count TINYINT UNSIGNED DEFAULT '1',\n\t\t\t\t\t REG_group_size TINYINT UNSIGNED DEFAULT '1',\n\t\t\t\t\t REG_att_is_going TINYINT(1) DEFAULT '0',\n\t\t\t\t\t REG_deleted TINYINT(1) DEFAULT '0',\n\t\t\t\t\t PRIMARY KEY (REG_ID),\n\t\t\t\t\t KEY EVT_ID (EVT_ID),\n\t\t\t\t\t KEY ATT_ID (ATT_ID),\n\t\t\t\t\t KEY TXN_ID (TXN_ID),\n\t\t\t\t\t KEY TKT_ID (TKT_ID),\n\t\t\t\t\t KEY STS_ID (STS_ID),\n\t\t\t\t\t KEY REG_url_link (REG_url_link),\n\t\t\t\t\t KEY REG_code (REG_code)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB '); $table_name = 'esp_checkin'; $sql = "CHK_ID INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,\n\t\t\t\t\tREG_ID INT(10) UNSIGNED NOT NULL,\n\t\t\t\t\tDTT_ID INT(10) UNSIGNED NOT NULL,\n\t\t\t\t\tCHK_in TINYINT(1) UNSIGNED NOT NULL DEFAULT 1,\n\t\t\t\t\tCHK_timestamp DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',\n\t\t\t\t\tPRIMARY KEY (CHK_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_state'; $sql = "STA_ID smallint(5) UNSIGNED NOT NULL AUTO_INCREMENT,\n\t\t\t\t\t CNT_ISO VARCHAR(2) COLLATE utf8_bin NOT NULL,\n\t\t\t\t\t STA_abbrev VARCHAR(24) COLLATE utf8_bin NOT NULL,\n\t\t\t\t\t STA_name VARCHAR(100) COLLATE utf8_bin NOT NULL,\n\t\t\t\t\t STA_active TINYINT(1) DEFAULT '1',\n\t\t\t\t\t PRIMARY KEY (STA_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_status'; $sql = "STS_ID VARCHAR(3) COLLATE utf8_bin NOT NULL,\n\t\t\t\t\t STS_code VARCHAR(45) COLLATE utf8_bin NOT NULL,\n\t\t\t\t\t STS_type set('event','registration','transaction','payment','email') COLLATE utf8_bin NOT NULL,\n\t\t\t\t\t STS_can_edit TINYINT(1) NOT NULL DEFAULT 0,\n\t\t\t\t\t STS_desc TINYTEXT COLLATE utf8_bin,\n\t\t\t\t\t STS_open TINYINT(1) NOT NULL DEFAULT 1,\n\t\t\t\t\t UNIQUE KEY STS_ID_UNIQUE (STS_ID),\n\t\t\t\t\t KEY STS_type (STS_type)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_transaction'; $sql = "TXN_ID INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,\n\t\t\t\t\t TXN_timestamp DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',\n\t\t\t\t\t TXN_total DECIMAL(10,3) DEFAULT '0.00',\n\t\t\t\t\t TXN_paid DECIMAL(10,3) NOT NULL DEFAULT '0.00',\n\t\t\t\t\t STS_ID VARCHAR(3) NOT NULL DEFAULT 'TOP',\n\t\t\t\t\t TXN_session_data TEXT COLLATE utf8_bin,\n\t\t\t\t\t TXN_hash_salt VARCHAR(250) COLLATE utf8_bin DEFAULT NULL,\n\t\t\t\t\t PMD_ID INT(11) DEFAULT NULL,\n\t\t\t\t\t TXN_reg_steps TEXT,\n\t\t\t\t\t PRIMARY KEY (TXN_ID),\n\t\t\t\t\t KEY TXN_timestamp (TXN_timestamp),\n\t\t\t\t\t KEY STS_ID (STS_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_venue_meta'; $sql = "VNUM_ID INT(11) NOT NULL AUTO_INCREMENT,\n\t\t\tVNU_ID BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,\n\t\t\tVNU_address VARCHAR(255) DEFAULT NULL,\n\t\t\tVNU_address2 VARCHAR(255) DEFAULT NULL,\n\t\t\tVNU_city VARCHAR(100) DEFAULT NULL,\n\t\t\tSTA_ID INT(11) DEFAULT NULL,\n\t\t\tCNT_ISO VARCHAR(2) DEFAULT NULL,\n\t\t\tVNU_zip VARCHAR(45) DEFAULT NULL,\n\t\t\tVNU_phone VARCHAR(45) DEFAULT NULL,\n\t\t\tVNU_capacity INT(11) DEFAULT NULL,\n\t\t\tVNU_url VARCHAR(255) DEFAULT NULL,\n\t\t\tVNU_virtual_phone VARCHAR(45) DEFAULT NULL,\n\t\t\tVNU_virtual_url VARCHAR(255) DEFAULT NULL,\n\t\t\tVNU_enable_for_gmap TINYINT(1) DEFAULT '0',\n\t\t\tVNU_google_map_link VARCHAR(255) DEFAULT NULL,\n\t\t\tPRIMARY KEY (VNUM_ID),\n\t\t\tKEY STA_ID (STA_ID),\n\t\t\tKEY CNT_ISO (CNT_ISO)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); //modified tables $table_name = "esp_price"; $sql = "PRC_ID INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,\n\t\t\t\t\t PRT_ID TINYINT(3) UNSIGNED NOT NULL,\n\t\t\t\t\t PRC_amount DECIMAL(10,3) NOT NULL DEFAULT '0.00',\n\t\t\t\t\t PRC_name VARCHAR(245) NOT NULL,\n\t\t\t\t\t PRC_desc TEXT,\n\t\t\t\t\t PRC_is_default TINYINT(1) UNSIGNED NOT NULL DEFAULT '1',\n\t\t\t\t\t PRC_overrides INT(10) UNSIGNED DEFAULT NULL,\n\t\t\t\t\t PRC_deleted TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',\n\t\t\t\t\t PRC_order TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',\n\t\t\t\t\t PRC_wp_user BIGINT UNSIGNED NULL,\n\t\t\t\t\t PRC_parent INT(10) UNSIGNED DEFAULT 0,\n\t\t\t\t\t PRIMARY KEY (PRC_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = "esp_price_type"; $sql = "PRT_ID TINYINT(3) UNSIGNED NOT NULL AUTO_INCREMENT,\n\t\t\t\t PRT_name VARCHAR(45) NOT NULL,\n\t\t\t\t PBT_ID TINYINT(3) UNSIGNED NOT NULL DEFAULT '1',\n\t\t\t\t PRT_is_percent TINYINT(1) NOT NULL DEFAULT '0',\n\t\t\t\t PRT_order TINYINT UNSIGNED NULL,\n\t\t\t\t PRT_wp_user BIGINT UNSIGNED NULL,\n\t\t\t\t PRT_deleted TINYINT(1) NOT NULL DEFAULT '0',\n\t\t\t\t UNIQUE KEY PRT_name_UNIQUE (PRT_name),\n\t\t\t\t PRIMARY KEY (PRT_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB '); $table_name = "esp_ticket"; $sql = "TKT_ID INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,\n\t\t\t\t\t TTM_ID INT(10) UNSIGNED NOT NULL,\n\t\t\t\t\t TKT_name VARCHAR(245) NOT NULL DEFAULT '',\n\t\t\t\t\t TKT_description TEXT NOT NULL,\n\t\t\t\t\t TKT_qty MEDIUMINT(8) DEFAULT NULL,\n\t\t\t\t\t TKT_sold MEDIUMINT(8) NOT NULL DEFAULT 0,\n\t\t\t\t\t TKT_uses TINYINT NOT NULL DEFAULT '-1',\n\t\t\t\t\t TKT_required TINYINT UNSIGNED NOT NULL DEFAULT '0',\n\t\t\t\t\t TKT_min TINYINT UNSIGNED NOT NULL DEFAULT '0',\n\t\t\t\t\t TKT_max TINYINT NOT NULL DEFAULT '-1',\n\t\t\t\t\t TKT_price DECIMAL(10,3) NOT NULL DEFAULT '0.00',\n\t\t\t\t\t TKT_start_date DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',\n\t\t\t\t\t TKT_end_date DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',\n\t\t\t\t\t TKT_taxable TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',\n\t\t\t\t\t TKT_order TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',\n\t\t\t\t\t TKT_row TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',\n\t\t\t\t\t TKT_is_default TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',\n\t\t\t\t\t TKT_wp_user BIGINT UNSIGNED NULL,\n\t\t\t\t\t TKT_parent INT(10) UNSIGNED DEFAULT '0',\n\t\t\t\t\t TKT_deleted TINYINT(1) NOT NULL DEFAULT '0',\n\t\t\t\t\t PRIMARY KEY (TKT_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); EEH_Activation::drop_index('esp_question_group', 'QSG_identifier_UNIQUE'); $table_name = 'esp_question_group'; $sql = 'QSG_ID INT UNSIGNED NOT NULL AUTO_INCREMENT, QSG_name VARCHAR(255) NOT NULL, QSG_identifier VARCHAR(100) NOT NULL, QSG_desc TEXT NULL, QSG_order TINYINT UNSIGNED NOT NULL DEFAULT 0, QSG_show_group_name TINYINT(1) NOT NULL, QSG_show_group_desc TINYINT(1) NOT NULL, QSG_system TINYINT NULL, QSG_deleted TINYINT(1) UNSIGNED NOT NULL DEFAULT 0, QSG_wp_user BIGINT UNSIGNED NULL, PRIMARY KEY (QSG_ID), UNIQUE KEY QSG_identifier_UNIQUE (QSG_identifier ASC)'; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); /** @var EE_DMS_Core_4_1_0 $script_4_1_defaults */ $script_4_1_defaults = EE_Registry::instance()->load_dms('Core_4_1_0'); //(because many need to convert old string states to foreign keys into the states table) $script_4_1_defaults->insert_default_states(); $script_4_1_defaults->insert_default_countries(); /** @var EE_DMS_Core_4_5_0 $script_4_5_defaults */ $script_4_5_defaults = EE_Registry::instance()->load_dms('Core_4_5_0'); $script_4_5_defaults->insert_default_price_types(); $script_4_5_defaults->insert_default_prices(); $script_4_5_defaults->insert_default_tickets(); //setting up the config wp option pretty well counts as a 'schema change', or at least should happen here EE_Config::instance()->update_espresso_config(false, true); $this->add_default_admin_only_payments(); $this->insert_default_currencies(); return true; }
public function schema_changes_before_migration() { //relies on 4.1's EEH_Activation::create_table require_once EE_HELPERS . 'EEH_Activation.helper.php'; $table_name = 'esp_answer'; $sql = " ANS_ID INT UNSIGNED NOT NULL AUTO_INCREMENT ,\n\t\t\t\t\tREG_ID INT UNSIGNED NOT NULL ,\n\t\t\t\t\tQST_ID INT UNSIGNED NOT NULL ,\n\t\t\t\t\tANS_value TEXT NOT NULL ,\n\t\t\t\t\tPRIMARY KEY (ANS_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_attendee_meta'; $sql = "ATTM_ID int(10) unsigned NOT\tNULL AUTO_INCREMENT,\n\t\t\t\t\t\tATT_ID int(10) unsigned NOT NULL,\n\t\t\t\t\t\tATT_fname varchar(45) NOT NULL,\n\t\t\t\t\t\tATT_lname varchar(45) NOT\tNULL,\n\t\t\t\t\t\tATT_address varchar(45) DEFAULT\tNULL,\n\t\t\t\t\t\tATT_address2 varchar(45) DEFAULT\tNULL,\n\t\t\t\t\t\tATT_city varchar(45) DEFAULT\tNULL,\n\t\t\t\t\t\tSTA_ID int(10) DEFAULT\tNULL,\n\t\t\t\t\t\tCNT_ISO varchar(45) DEFAULT\tNULL,\n\t\t\t\t\t\tATT_zip varchar(12) DEFAULT\tNULL,\n\t\t\t\t\t\tATT_email varchar(100) NOT NULL,\n\t\t\t\t\t\tATT_phone varchar(45) DEFAULT NULL,\n\t\t\t\t\t\t\tPRIMARY KEY (ATTM_ID),\n\t\t\t\t\t\t\t\tKEY ATT_fname (ATT_fname),\n\t\t\t\t\t\t\t\tKEY ATT_lname (ATT_lname),\n\t\t\t\t\t\t\t\tKEY ATT_email (ATT_email)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB '); $table_name = 'esp_country'; $sql = "CNT_ISO varchar(2) COLLATE utf8_bin NOT NULL,\n\t\t\t\t\t CNT_ISO3 varchar(3) COLLATE utf8_bin NOT NULL,\n\t\t\t\t\t RGN_ID tinyint(3) unsigned DEFAULT NULL,\n\t\t\t\t\t CNT_name varchar(45) COLLATE utf8_bin NOT NULL,\n\t\t\t\t\t CNT_cur_code varchar(6) COLLATE utf8_bin DEFAULT 'USD',\n\t\t\t\t\t CNT_cur_single varchar(45) COLLATE utf8_bin DEFAULT 'dollar',\n\t\t\t\t\t CNT_cur_plural varchar(45) COLLATE utf8_bin DEFAULT 'dollars',\n\t\t\t\t\t CNT_cur_sign varchar(45) COLLATE utf8_bin DEFAULT '\$',\n\t\t\t\t\t CNT_cur_sign_b4 tinyint(1) DEFAULT '1',\n\t\t\t\t\t CNT_cur_dec_plc tinyint(3) unsigned NOT NULL DEFAULT '2',\n\t\t\t\t\t CNT_cur_dec_mrk varchar(1) COLLATE utf8_bin NOT NULL DEFAULT '.',\n\t\t\t\t\t CNT_cur_thsnds varchar(1) COLLATE utf8_bin NOT NULL DEFAULT ',',\n\t\t\t\t\t CNT_tel_code varchar(12) COLLATE utf8_bin DEFAULT NULL,\n\t\t\t\t\t CNT_is_EU tinyint(1) DEFAULT '0',\n\t\t\t\t\t CNT_active tinyint(1) DEFAULT '0',\n\t\t\t\t\t PRIMARY KEY (CNT_ISO)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_datetime'; $sql = "DTT_ID int(10) unsigned NOT NULL AUTO_INCREMENT,\n\t\t\t\t EVT_ID INT UNSIGNED NOT NULL ,\n\t\t\t\t DTT_name VARCHAR(255) NOT NULL default '',\n\t\t\t\t DTT_description TEXT NOT NULL default '',\n\t\t\t\t DTT_EVT_start datetime NOT NULL default '0000-00-00 00:00:00',\n\t\t\t\t DTT_EVT_end datetime NOT NULL default '0000-00-00 00:00:00',\n\t\t\t\t DTT_reg_limit mediumint(8) DEFAULT -1,\n\t\t\t\t DTT_sold mediumint(8) unsigned DEFAULT 0,\n\t\t\t\t DTT_is_primary tinyint(1) UNSIGNED NOT NULL DEFAULT 0,\n\t\t\t\t DTT_order mediumint(3) unsigned DEFAULT 0,\n\t\t\t\t DTT_parent int(10) unsigned DEFAULT 0,\n\t\t\t\t DTT_deleted tinyint(1) UNSIGNED NOT NULL DEFAULT 0,\n\t\t\t\t\t\tPRIMARY KEY (DTT_ID),\n\t\t\t\t\t\tKEY EVT_ID (EVT_ID),\n\t\t\t\t\t\tKEY DTT_is_primary (DTT_is_primary)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_event_meta'; $sql = "\n\t\t\tEVTM_ID INT NOT NULL AUTO_INCREMENT,\n\t\t\tEVT_ID int(11) unsigned NOT NULL,\n\t\t\tEVT_display_desc TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ,\n\t\t\tEVT_display_ticket_selector TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ,\n\t\t\tEVT_visible_on datetime NOT NULL default '0000-00-00 00:00:00',\n\t\t\tEVT_default_registration_status VARCHAR(3),\n\t\t\tEVT_phone varchar(45) DEFAULT NULL,\n\t\t\tEVT_additional_limit TINYINT UNSIGNED NULL ,\n\t\t\tEVT_member_only TINYINT(1) UNSIGNED NOT NULL DEFAULT 0 ,\n\t\t\tEVT_allow_overflow TINYINT(1) UNSIGNED NOT NULL DEFAULT 0 ,\n\t\t\tEVT_timezone_string VARCHAR(45) NULL ,\n\t\t\tEVT_external_URL VARCHAR(200) NULL ,\n\t\t\tEVT_donations TINYINT(1) NULL,\n\t\t\tPRIMARY KEY (EVTM_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_event_question_group'; $sql = "EQG_ID INT UNSIGNED NOT NULL AUTO_INCREMENT ,\n\t\t\t\t\tEVT_ID INT UNSIGNED NOT NULL ,\n\t\t\t\t\tQSG_ID INT UNSIGNED NOT NULL ,\n\t\t\t\t\tEQG_primary TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,\n\t\t\t\t\tPRIMARY KEY (EQG_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_event_venue'; $sql = "EVV_ID INT(11) NOT NULL AUTO_INCREMENT ,\n\t\t\t\tEVT_ID INT(11) NOT NULL ,\n\t\t\t\tVNU_ID INT(11) NOT NULL ,\n\t\t\t\tEVV_primary TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,\n\t\t\t\tPRIMARY KEY (EVV_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_extra_meta'; $sql = "EXM_ID int(11) NOT NULL AUTO_INCREMENT,\n\t\t\t\tOBJ_ID int(11) DEFAULT NULL,\n\t\t\t\tEXM_type varchar(45) DEFAULT NULL,\n\t\t\t\tEXM_key varchar(45) DEFAULT NULL,\n\t\t\t\tEXM_value text,\n\t\t\t\tPRIMARY KEY (EXM_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_line_item'; $sql = "LIN_ID int(11) NOT NULL AUTO_INCREMENT,\n\t\t\t\tLIN_code varchar(245) NOT NULL DEFAULT '',\n\t\t\t\tTXN_ID int(11) DEFAULT NULL,\n\t\t\t\tLIN_name varchar(245) NOT NULL DEFAULT '',\n\t\t\t\tLIN_desc varchar(245) DEFAULT NULL,\n\t\t\t\tLIN_unit_price decimal(10,3) DEFAULT NULL,\n\t\t\t\tLIN_percent decimal(10,3) DEFAULT NULL,\n\t\t\t\tLIN_is_taxable tinyint(1) DEFAULT 0,\n\t\t\t\tLIN_order int DEFAULT 0,\n\t\t\t\tLIN_parent int DEFAULT 0,\n\t\t\t\tLIN_type varchar(25) NOT NULL,\n\t\t\t\tLIN_total decimal(10,3) DEFAULT NULL,\n\t\t\t\tLIN_quantity int(10) DEFAULT NULL,\n\t\t\t\tOBJ_ID int(11) DEFAULT NULL,\n\t\t\t\tOBJ_type varchar(45)DEFAULT NULL,\n\t\t\t\tPRIMARY KEY (LIN_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_message_template'; $sql = "MTP_ID int(10) unsigned NOT NULL AUTO_INCREMENT,\n\t\t\t\t\tGRP_ID int(10) unsigned NOT NULL,\n\t\t\t\t\tMTP_context varchar(50) NOT NULL,\n\t\t\t\t\tMTP_template_field varchar(30) NOT NULL,\n\t\t\t\t\tMTP_content text NOT NULL,\n\t\t\t\t\tPRIMARY KEY (MTP_ID),\n\t\t\t\t\tKEY GRP_ID (GRP_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); EEH_Activation::drop_index('esp_message_template_group', 'EVT_ID'); $table_name = 'esp_message_template_group'; $sql = "GRP_ID int(10) unsigned NOT NULL AUTO_INCREMENT,\n\t\t\t\t\tMTP_user_id int(10) NOT NULL DEFAULT '1',\n\t\t\t\t\tMTP_name varchar(245) NOT NULL DEFAULT '',\n\t\t\t\t\tMTP_description varchar(245) NOT NULL DEFAULT '',\n\t\t\t\t\tMTP_messenger varchar(30) NOT NULL,\n\t\t\t\t\tMTP_message_type varchar(50) NOT NULL,\n\t\t\t\t\tMTP_is_global tinyint(1) NOT NULL DEFAULT '0',\n\t\t\t\t\tMTP_is_override tinyint(1) NOT NULL DEFAULT '0',\n\t\t\t\t\tMTP_deleted tinyint(1) NOT NULL DEFAULT '0',\n\t\t\t\t\tMTP_is_active tinyint(1) NOT NULL DEFAULT '1',\n\t\t\t\t\tPRIMARY KEY (GRP_ID),\n\t\t\t\t\tKEY MTP_user_id (MTP_user_id)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_event_message_template'; $sql = "EMT_ID BIGINT(20) unsigned NOT NULL AUTO_INCREMENT,\n\t\t\t\t\tEVT_ID BIGINT(20) unsigned NOT NULL DEFAULT 0,\n\t\t\t\t\tGRP_ID INT(10) unsigned NOT NULL DEFAULT 0,\n\t\t\t\t\tPRIMARY KEY (EMT_ID),\n\t\t\t\t\tKEY EVT_ID (EVT_ID),\n\t\t\t\t\tKEY GRP_ID (GRP_ID)"; $this->_table_is_new_in_this_version($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_payment'; $sql = "PAY_ID int(10) unsigned NOT NULL AUTO_INCREMENT,\n\t\t\t\t\tTXN_ID int(10) unsigned DEFAULT NULL,\n\t\t\t\t\tSTS_ID varchar(3) COLLATE utf8_bin DEFAULT NULL,\n\t\t\t\t\tPAY_timestamp datetime NOT NULL default '0000-00-00 00:00:00',\n\t\t\t\t\tPAY_method varchar(45) COLLATE utf8_bin DEFAULT NULL,\n\t\t\t\t\tPAY_amount decimal(10,3) DEFAULT NULL,\n\t\t\t\t\tPAY_gateway varchar(32) COLLATE utf8_bin DEFAULT NULL,\n\t\t\t\t\tPAY_gateway_response text COLLATE utf8_bin,\n\t\t\t\t\tPAY_txn_id_chq_nmbr varchar(32) COLLATE utf8_bin DEFAULT NULL,\n\t\t\t\t\tPAY_po_number varchar(32) COLLATE utf8_bin DEFAULT NULL,\n\t\t\t\t\tPAY_extra_accntng varchar(45) COLLATE utf8_bin DEFAULT NULL,\n\t\t\t\t\tPAY_via_admin tinyint(1) NOT NULL DEFAULT '0',\n\t\t\t\t\tPAY_details text COLLATE utf8_bin,\n\t\t\t\t\tPRIMARY KEY (PAY_ID),\n\t\t\t\t\tKEY TXN_ID (TXN_ID),\n\t\t\t\t\tKEY PAY_timestamp (PAY_timestamp)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB '); $table_name = "esp_ticket"; $sql = "TKT_ID int(10) unsigned NOT NULL AUTO_INCREMENT,\n\t\t\t\t\t TTM_ID int(10) unsigned NOT NULL,\n\t\t\t\t\t TKT_name varchar(100) NOT NULL DEFAULT '',\n\t\t\t\t\t TKT_description TEXT NOT NULL DEFAULT '',\n\t\t\t\t\t TKT_qty mediumint(8) DEFAULT NULL,\n\t\t\t\t\t TKT_sold mediumint(8) NOT NULL DEFAULT 0,\n\t\t\t\t\t TKT_uses tinyint NOT NULL DEFAULT '-1',\n\t\t\t\t\t TKT_required tinyint unsigned NOT NULL DEFAULT '0',\n\t\t\t\t\t TKT_min tinyint unsigned NOT NULL DEFAULT '0',\n\t\t\t\t\t TKT_max tinyint NOT NULL DEFAULT '-1',\n\t\t\t\t\t TKT_price decimal(10,3) NOT NULL DEFAULT '0.00',\n\t\t\t\t\t TKT_start_date datetime NOT NULL default '0000-00-00 00:00:00',\n\t\t\t\t\t TKT_end_date datetime NOT NULL default '0000-00-00 00:00:00',\n\t\t\t\t\t TKT_taxable tinyint(1) unsigned NOT NULL DEFAULT '0',\n\t\t\t\t\t TKT_order tinyint(3) unsigned NOT NULL DEFAULT '0',\n\t\t\t\t\t TKT_row tinyint(3) unsigned NOT NULL DEFAULT '0',\n\t\t\t\t\t TKT_is_default tinyint(1) unsigned NOT NULL DEFAULT '0',\n\t\t\t\t\t TKT_parent int(10) unsigned DEFAULT '0',\n\t\t\t\t\t TKT_deleted tinyint(1) NOT NULL DEFAULT '0',\n\t\t\t\t\t PRIMARY KEY (TKT_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = "esp_ticket_price"; $sql = "TKP_ID int(10) unsigned NOT NULL AUTO_INCREMENT,\n\t\t\t\t\t TKT_ID int(10) unsigned NOT NULL,\n\t\t\t\t\t PRC_ID int(10) unsigned NOT NULL,\n\t\t\t\t\t PRIMARY KEY (TKP_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = "esp_datetime_ticket"; $sql = "DTK_ID int(10) unsigned NOT NULL AUTO_INCREMENT,\n\t\t\t\t\t DTT_ID int(10) unsigned NOT NULL,\n\t\t\t\t\t TKT_ID int(10) unsigned NOT NULL,\n\t\t\t\t\t PRIMARY KEY (DTK_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = "esp_ticket_template"; $sql = "TTM_ID int(10) unsigned NOT NULL AUTO_INCREMENT,\n\t\t\t\t\t TTM_name varchar(45) NOT NULL,\n\t\t\t\t\t TTM_description text,\n\t\t\t\t\t TTM_file varchar(45),\n\t\t\t\t\t PRIMARY KEY (TTM_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = "esp_price"; $sql = "PRC_ID int(10) unsigned NOT NULL AUTO_INCREMENT,\n\t\t\t\t\t PRT_ID tinyint(3) unsigned NOT NULL,\n\t\t\t\t\t PRC_amount decimal(10,3) NOT NULL DEFAULT '0.00',\n\t\t\t\t\t PRC_name varchar(45) NOT NULL,\n\t\t\t\t\t PRC_desc text,\n\t\t\t\t\t PRC_is_default tinyint(1) unsigned NOT NULL DEFAULT '1',\n\t\t\t\t\t PRC_overrides int(10) unsigned DEFAULT NULL,\n\t\t\t\t\t PRC_deleted tinyint(1) unsigned NOT NULL DEFAULT '0',\n\t\t\t\t\t PRC_order tinyint(3) unsigned NOT NULL DEFAULT '0',\n\t\t\t\t\t PRC_parent int(10) unsigned DEFAULT 0,\n\t\t\t\t\t PRIMARY KEY (PRC_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = "esp_price_type"; $sql = "PRT_ID tinyint(3) unsigned NOT NULL AUTO_INCREMENT,\n\t\t\t\t PRT_name VARCHAR(45) NOT NULL ,\n\t\t\t\t PBT_ID tinyint(3) unsigned NOT NULL DEFAULT '1',\n\t\t\t\t PRT_is_percent tinyint(1) NOT NULL DEFAULT '0',\n\t\t\t\t PRT_order tinyint UNSIGNED NULL,\n\t\t\t\t PRT_deleted tinyint(1) NOT NULL DEFAULT '0',\n\t\t\t\t UNIQUE KEY PRT_name_UNIQUE (PRT_name),\n\t\t\t\t PRIMARY KEY (PRT_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_question'; $sql = 'QST_ID INT UNSIGNED NOT NULL AUTO_INCREMENT, QST_display_text TEXT NOT NULL, QST_admin_label VARCHAR(255) NOT NULL, QST_system varchar(25) DEFAULT NULL, QST_type VARCHAR(25) NOT NULL DEFAULT "TEXT", QST_required TINYINT(1) UNSIGNED NOT NULL DEFAULT 0, QST_required_text VARCHAR(100) NULL, QST_order TINYINT UNSIGNED NOT NULL DEFAULT 0, QST_admin_only TINYINT(1) NOT NULL DEFAULT 0, QST_wp_user BIGINT UNSIGNED NULL, QST_deleted TINYINT UNSIGNED NOT NULL DEFAULT 0, PRIMARY KEY (QST_ID)'; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); EEH_Activation::drop_index('esp_question_group', 'QSG_identifier_UNIQUE'); $table_name = 'esp_question_group'; $sql = 'QSG_ID INT UNSIGNED NOT NULL AUTO_INCREMENT, QSG_name VARCHAR(255) NOT NULL, QSG_identifier VARCHAR(100) NOT NULL, QSG_desc TEXT NULL, QSG_order TINYINT UNSIGNED NOT NULL DEFAULT 0, QSG_show_group_name TINYINT(1) NOT NULL, QSG_show_group_desc TINYINT(1) NOT NULL, QSG_system TINYINT NULL, QSG_deleted TINYINT(1) UNSIGNED NOT NULL DEFAULT 0, PRIMARY KEY (QSG_ID), UNIQUE KEY QSG_identifier_UNIQUE (QSG_identifier ASC)'; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_question_group_question'; $sql = "QGQ_ID INT UNSIGNED NOT NULL AUTO_INCREMENT ,\n\t\t\t\t\tQSG_ID INT UNSIGNED NOT NULL ,\n\t\t\t\t\tQST_ID INT UNSIGNED NOT NULL ,\n\t\t\t\t\tQGQ_order INT UNSIGNED NOT NULL DEFAULT 0 ,\n\t\t\t\t\tPRIMARY KEY (QGQ_ID) "; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_question_option'; $sql = "QSO_ID INT UNSIGNED NOT NULL AUTO_INCREMENT ,\n\t\t\t\t\tQSO_value VARCHAR(255) NOT NULL ,\n\t\t\t\t\tQSO_desc TEXT NOT NULL ,\n\t\t\t\t\tQST_ID INT UNSIGNED NOT NULL ,\n\t\t\t\t\tQSO_order INT UNSIGNED NOT NULL DEFAULT 0,\n\t\t\t\t\tQSO_deleted TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,\n\t\t\t\t\tPRIMARY KEY (QSO_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_registration'; $sql = "REG_ID int(10) unsigned NOT NULL AUTO_INCREMENT,\n\t\t\t\t\t EVT_ID int(10) unsigned NOT NULL,\n\t\t\t\t\t ATT_ID int(10) unsigned NOT NULL,\n\t\t\t\t\t TXN_ID int(10) unsigned NOT NULL,\n\t\t\t\t\t TKT_ID int(10) unsigned NOT NULL,\n\t\t\t\t\t STS_ID varchar(3) COLLATE utf8_bin NOT NULL DEFAULT 'RPP',\n\t\t\t\t\t REG_date datetime NOT NULL default '0000-00-00 00:00:00',\n\t\t\t\t\t REG_final_price decimal(10,3) NOT NULL DEFAULT '0.00',\n\t\t\t\t\t REG_session varchar(45) COLLATE utf8_bin NOT NULL,\n\t\t\t\t\t REG_code varchar(45) COLLATE utf8_bin DEFAULT NULL,\n\t\t\t\t\t REG_url_link varchar(64) COLLATE utf8_bin DEFAULT NULL,\n\t\t\t\t\t REG_count tinyint(4) DEFAULT '1',\n\t\t\t\t\t REG_group_size tinyint(4) DEFAULT '1',\n\t\t\t\t\t REG_att_is_going tinyint(1) DEFAULT '0',\n\t\t\t\t\t REG_deleted tinyint(1) DEFAULT '0',\n\t\t\t\t\t PRIMARY KEY (REG_ID),\n\t\t\t\t\t KEY EVT_ID (EVT_ID),\n\t\t\t\t\t KEY ATT_ID (ATT_ID),\n\t\t\t\t\t KEY TXN_ID (TXN_ID),\n\t\t\t\t\t KEY TKT_ID (TKT_ID),\n\t\t\t\t\t KEY STS_ID (STS_ID),\n\t\t\t\t\t KEY REG_url_link (REG_url_link),\n\t\t\t\t\t KEY REG_code (REG_code)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB '); $table_name = 'esp_checkin'; $sql = "CHK_ID INT(10) UNSIGNED NOT NULL AUTO_INCREMENT ,\n\t\t\t\t\tREG_ID INT(10) unsigned NOT NULL ,\n\t\t\t\t\tDTT_ID INT(10) unsigned NOT NULL ,\n\t\t\t\t\tCHK_in TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 ,\n\t\t\t\t\tCHK_timestamp datetime NOT NULL default '0000-00-00 00:00:00' ,\n\t\t\t\t\tPRIMARY KEY (CHK_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_state'; $sql = "STA_ID smallint(5) unsigned NOT NULL AUTO_INCREMENT,\n\t\t\t\t\t CNT_ISO varchar(2) COLLATE utf8_bin NOT NULL,\n\t\t\t\t\t STA_abbrev varchar(6) COLLATE utf8_bin NOT NULL,\n\t\t\t\t\t STA_name varchar(100) COLLATE utf8_bin NOT NULL,\n\t\t\t\t\t STA_active tinyint(1) DEFAULT '1',\n\t\t\t\t\t PRIMARY KEY (STA_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_status'; $sql = "STS_ID varchar(3) COLLATE utf8_bin NOT NULL,\n\t\t\t\t\t STS_code varchar(45) COLLATE utf8_bin NOT NULL,\n\t\t\t\t\t STS_type set('event','registration','transaction','payment','email') COLLATE utf8_bin NOT NULL,\n\t\t\t\t\t STS_can_edit tinyint(1) NOT NULL DEFAULT 0,\n\t\t\t\t\t STS_desc tinytext COLLATE utf8_bin,\n\t\t\t\t\t STS_open tinyint(1) NOT NULL DEFAULT 1,\n\t\t\t\t\t UNIQUE KEY STS_ID_UNIQUE (STS_ID),\n\t\t\t\t\t KEY STS_type (STS_type)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_transaction'; $sql = "TXN_ID int(10) unsigned NOT NULL AUTO_INCREMENT,\n\t\t\t\t\t TXN_timestamp datetime NOT NULL default '0000-00-00 00:00:00',\n\t\t\t\t\t TXN_total decimal(10,3) DEFAULT '0.00',\n\t\t\t\t\t TXN_paid decimal(10,3) NOT NULL DEFAULT '0.00',\n\t\t\t\t\t STS_ID varchar(3) NOT NULL DEFAULT 'TOP',\n\t\t\t\t\t TXN_session_data text COLLATE utf8_bin,\n\t\t\t\t\t TXN_hash_salt varchar(250) COLLATE utf8_bin DEFAULT NULL,\n\t\t\t\t\t PRIMARY KEY (TXN_ID),\n\t\t\t\t\t KEY TXN_timestamp (TXN_timestamp),\n\t\t\t\t\t KEY STS_ID (STS_ID)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $table_name = 'esp_venue_meta'; $sql = "VNUM_ID int(11) NOT NULL AUTO_INCREMENT,\n\t\t\tVNU_ID int(11) DEFAULT NULL,\n\t\t\tVNU_address varchar(100) DEFAULT NULL,\n\t\t\tVNU_address2 varchar(100) DEFAULT NULL,\n\t\t\tVNU_city varchar(100) DEFAULT NULL,\n\t\t\tSTA_ID int(11) DEFAULT NULL,\n\t\t\tCNT_ISO varchar(2) DEFAULT NULL,\n\t\t\tVNU_zip varchar(45) DEFAULT NULL,\n\t\t\tVNU_phone varchar(45) DEFAULT NULL,\n\t\t\tVNU_capacity int(11) DEFAULT NULL,\n\t\t\tVNU_url varchar(255) DEFAULT NULL,\n\t\t\tVNU_virtual_phone varchar(45) DEFAULT NULL,\n\t\t\tVNU_virtual_url varchar(255) DEFAULT NULL,\n\t\t\tVNU_enable_for_gmap tinyint(1) DEFAULT '0',\n\t\t\tVNU_google_map_link varchar(255) DEFAULT NULL,\n\t\t\tPRIMARY KEY (VNUM_ID),\n\t\t\tKEY STA_ID (STA_ID),\n\t\t\tKEY CNT_ISO (CNT_ISO)"; $this->_table_should_exist_previously($table_name, $sql, 'ENGINE=InnoDB'); $script_with_defaults = EE_Registry::instance()->load_dms('Core_4_1_0'); //setting up the default stats and countries is also essential for the data migrations to run //(because many need to convert old string states to foreign keys into the states table) $script_with_defaults->insert_default_states(); $script_with_defaults->insert_default_countries(); //setting up default prices, price types, and tickets is also essential for the price migrations $script_with_defaults->insert_default_price_types(); $script_with_defaults->insert_default_prices(); //but the schema on the tickets table has changed since 4.1, so use our default ticket method instead of 4.1's $this->insert_default_tickets(); //setting up the config wp option pretty well counts as a 'schema change', or at least should happen ehre EE_Config::instance()->update_espresso_config(false, true); return true; }