[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
这个提交包含在:
Peter Goodhall 2023-08-28 15:26:48 +01:00
父节点 25f6faf275
当前提交 fde3357d2a
共有 3 个文件被更改,包括 47 次插入29 次删除

查看文件

@ -11,6 +11,8 @@ class Migration_new_options_table extends CI_Migration {
public function up() public function up()
{ {
// if table options doesn't exist
if (!$this->db->table_exists('options')) {
$this->dbforge->add_field(array( $this->dbforge->add_field(array(
'option_id' => array( 'option_id' => array(
'type' => 'BIGINT', 'type' => 'BIGINT',
@ -41,6 +43,7 @@ class Migration_new_options_table extends CI_Migration {
$this->dbforge->create_table('options'); $this->dbforge->create_table('options');
} }
}
public function down() public function down()
{ {

查看文件

@ -11,6 +11,7 @@ class Migration_add_version_two_trigger_to_options extends CI_Migration {
public function up() public function up()
{ {
$data = array( $data = array(
array('option_name' => "version2_trigger", 'option_value' => "false", 'autoload' => "yes"), 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) { if($query->num_rows() == 0) {
$this->db->insert_batch('options', $data); $this->db->insert_batch('options', $data);
} }
} }
public function down() public function down()

查看文件

@ -296,6 +296,19 @@ CREATE TABLE `TABLE_HRD_CONTACTS_V01` (
-- Records of 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 -- Table structure for timezones
-- ---------------------------- -- ----------------------------