diff --git a/application/migrations/058_new_options_table.php b/application/migrations/058_new_options_table.php index 99bc8239..6c888985 100644 --- a/application/migrations/058_new_options_table.php +++ b/application/migrations/058_new_options_table.php @@ -11,35 +11,38 @@ class Migration_new_options_table extends CI_Migration { public function up() { - $this->dbforge->add_field(array( - 'option_id' => array( - 'type' => 'BIGINT', - 'constraint' => 20, - 'unsigned' => TRUE, - 'auto_increment' => TRUE - ), - - 'option_name' => array( - 'type' => 'VARCHAR', - 'constraint' => '191', - 'null' => TRUE, - 'unique' => TRUE, - ), - - 'option_value' => array( - 'type' => 'longtext', - ), - - 'autoload' => array( - 'type' => 'varchar', - 'constraint' => '20', - 'null' => TRUE, - ) - )); - - $this->dbforge->add_key('option_id', TRUE); - - $this->dbforge->create_table('options'); + // if table options doesn't exist + if (!$this->db->table_exists('options')) { + $this->dbforge->add_field(array( + 'option_id' => array( + 'type' => 'BIGINT', + 'constraint' => 20, + 'unsigned' => TRUE, + 'auto_increment' => TRUE + ), + + 'option_name' => array( + 'type' => 'VARCHAR', + 'constraint' => '191', + 'null' => TRUE, + 'unique' => TRUE, + ), + + 'option_value' => array( + 'type' => 'longtext', + ), + + 'autoload' => array( + 'type' => 'varchar', + 'constraint' => '20', + 'null' => TRUE, + ) + )); + + $this->dbforge->add_key('option_id', TRUE); + + $this->dbforge->create_table('options'); + } } public function down() diff --git a/application/migrations/102_add_version_two_trigger_to_options.php b/application/migrations/102_add_version_two_trigger_to_options.php index e0dac738..f1da0867 100644 --- a/application/migrations/102_add_version_two_trigger_to_options.php +++ b/application/migrations/102_add_version_two_trigger_to_options.php @@ -11,6 +11,7 @@ class Migration_add_version_two_trigger_to_options extends CI_Migration { public function up() { + $data = array( array('option_name' => "version2_trigger", 'option_value' => "false", 'autoload' => "yes"), ); @@ -19,6 +20,7 @@ class Migration_add_version_two_trigger_to_options extends CI_Migration { if($query->num_rows() == 0) { $this->db->insert_batch('options', $data); } + } public function down() diff --git a/install/assets/install.sql b/install/assets/install.sql index 3fccb104..7a918282 100755 --- a/install/assets/install.sql +++ b/install/assets/install.sql @@ -296,6 +296,19 @@ CREATE TABLE `TABLE_HRD_CONTACTS_V01` ( -- Records of TABLE_HRD_CONTACTS_V01 -- ---------------------------- + + +CREATE TABLE `options` ( + `option_id` bigint(20) UNSIGNED NOT NULL, + `option_name` varchar(191) DEFAULT NULL, + `option_value` longtext NOT NULL, + `autoload` varchar(20) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; + +-- +-- Dumping data for table `options` that stops the version2 trigger from firing +INSERT INTO `options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES (NULL, 'version2_trigger', 'yes', 'true') + -- ---------------------------- -- Table structure for timezones -- ----------------------------