[Options] Creates options table during install and inserts the version2 flag and migration file makes sure it doesn't exisit.

This will hopefully resolve #2443 loop for new installs who of course don't need to run through the upgrade process for version 1 to 2
pull/2448/head
Peter Goodhall 2023-08-28 15:26:48 +01:00
rodzic 25f6faf275
commit fde3357d2a
3 zmienionych plików z 47 dodań i 29 usunięć

Wyświetl plik

@ -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()

Wyświetl plik

@ -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()

Wyświetl plik

@ -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
-- ----------------------------