if (!$tab_ids_checkpoint->is_done()) { Patch::require_time(20); if (DB::is_postgresql()) { DB::Execute('ALTER TABLE recordbrowser_table_properties DROP CONSTRAINT recordbrowser_table_properties_pkey'); DB::Execute('ALTER TABLE recordbrowser_table_properties ADD COLUMN id SERIAL PRIMARY KEY'); } else { DB::Execute('ALTER TABLE recordbrowser_table_properties DROP PRIMARY KEY'); DB::Execute('ALTER TABLE recordbrowser_table_properties ADD id SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY'); } DB::CreateIndex('recordbrowser_table_properties_tab', 'recordbrowser_table_properties', 'tab', array('UNIQUE' => 1)); $tab_ids_checkpoint->done(); } } $field_ids_checkpoint = Patch::checkpoint('field_ids'); if (!$field_ids_checkpoint->is_done()) { Patch::require_time(20); $recordsets = Utils_RecordBrowserCommon::list_installed_recordsets(); foreach ($recordsets as $tab => $caption) { $tab_f = $tab . "_field"; $columns = DB::MetaColumnNames($tab_f); if (!isset($columns['ID'])) { if (DB::is_postgresql()) { @DB::Execute('ALTER TABLE ' . $tab_f . ' DROP CONSTRAINT ' . $tab_f . '_pkey'); DB::Execute('ALTER TABLE ' . $tab_f . ' ADD COLUMN id SERIAL PRIMARY KEY'); } else { @DB::Execute('ALTER TABLE ' . $tab_f . ' DROP PRIMARY KEY'); DB::Execute('ALTER TABLE ' . $tab_f . ' ADD id SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY'); } DB::CreateIndex($tab_f . '_field', $tab_f, 'field', array('UNIQUE' => 1)); } }
<?php defined("_VALID_ACCESS") || die('Direct access forbidden'); // this patch has been renamed to make update process right // 4bb2048388cd0807ac707edeaa67dfa2 is: // modules/Utils/RecordBrowser/patches/20140814_add_processing_order.php $db = new PatchesDB(); if ($db->was_applied('4bb2048388cd0807ac707edeaa67dfa2')) { return; } $recordsets = Utils_RecordBrowserCommon::list_installed_recordsets(); $checkpoint = Patch::checkpoint('recordset'); $processed = $checkpoint->get('processed', array()); foreach ($recordsets as $tab => $caption) { if (isset($processed[$tab])) { continue; } $processed[$tab] = true; Patch::require_time(3); $tab = $tab . "_field"; $columns = DB::MetaColumnNames($tab); if (!isset($columns['PROCESSING_ORDER'])) { PatchUtil::db_add_column($tab, 'processing_order', 'I2'); DB::Execute("UPDATE {$tab} SET processing_order=position"); } $checkpoint->set('processed', $processed); }
<?php defined("_VALID_ACCESS") || die('Direct access forbidden'); $recordsets = Utils_RecordBrowserCommon::list_installed_recordsets(); $checkpoint = Patch::checkpoint('recordset'); $processed = $checkpoint->get('processed', array()); foreach ($recordsets as $tab => $caption) { if (isset($processed[$tab])) { continue; } $processed[$tab] = true; Patch::require_time(5); $tab = $tab . "_field"; PatchUtil::db_add_column($tab, 'export', 'I1 DEFAULT 1'); $checkpoint->set('processed', $processed); }
<?php defined("_VALID_ACCESS") || die('Direct access forbidden'); $checkpoint = Patch::checkpoint('indexes'); if (!$checkpoint->is_done()) { $done = $checkpoint->get('recordsets', array()); $recordsets = Utils_RecordBrowserCommon::list_installed_recordsets(); foreach ($recordsets as $tab => $caption) { Patch::require_time(1); if (!isset($done[$tab])) { @DB::CreateIndex($tab . '_act', $tab . '_data_1', 'active'); @DB::CreateIndex($tab . '_idxed', $tab . '_data_1', 'indexed,active'); $done[$tab] = true; $checkpoint->set('recordsets', $done); } } $checkpoint->done(); }