2022-10-05 15:05:53 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Class Migration_add_pota_columns
|
|
|
|
*
|
2022-12-07 07:29:50 +00:00
|
|
|
* Add POTA columnds to database to reflect latest ADIF v3.1.4 spec changes
|
|
|
|
* See http://adif.org.uk/314/ADIF_314_annotated.htm
|
2022-10-05 15:05:53 +00:00
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
class Migration_add_pota_columns extends CI_Migration {
|
|
|
|
|
|
|
|
public function up()
|
|
|
|
{
|
2023-01-28 14:21:09 +00:00
|
|
|
if (!$this->db->field_exists('COL_POTA_REF', $this->config->item('table_name'))) {
|
2022-10-05 15:05:53 +00:00
|
|
|
$fields = array(
|
|
|
|
'COL_POTA_REF VARCHAR(30) DEFAULT NULL',
|
|
|
|
'COL_MY_POTA_REF VARCHAR(50) DEFAULT NULL',
|
|
|
|
);
|
2023-01-28 14:21:09 +00:00
|
|
|
$this->dbforge->add_column($this->config->item('table_name'), $fields, 'COL_VUCC_GRIDS');
|
2022-10-05 15:05:53 +00:00
|
|
|
|
|
|
|
// Now copy over data from SIG_INFO fields and remove COL_SIG and COL_SIG_INFO only if COL_SIG is POTA
|
|
|
|
// This cannot be reverted on downgrade to prevent overwriting of other COL_SIG information
|
|
|
|
$this->db->set('COL_POTA_REF', 'COL_SIG_INFO', FALSE);
|
|
|
|
$this->db->set('COL_SIG_INFO', '');
|
|
|
|
$this->db->set('COL_SIG', '');
|
|
|
|
$this->db->where('COL_SIG', 'POTA');
|
2023-01-28 14:21:09 +00:00
|
|
|
$this->db->update($this->config->item('table_name'));
|
2022-10-05 15:05:53 +00:00
|
|
|
|
2022-10-05 19:21:15 +00:00
|
|
|
}
|
|
|
|
if (!$this->db->field_exists('station_pota', 'station_profile')) {
|
2022-10-05 15:05:53 +00:00
|
|
|
// Add MY_POTA_REF to station profile
|
|
|
|
$fields = array(
|
|
|
|
'station_pota varchar(50) DEFAULT NULL',
|
|
|
|
);
|
|
|
|
$this->dbforge->add_column('station_profile', $fields);
|
|
|
|
}
|
2022-10-05 20:13:12 +00:00
|
|
|
if (!$this->db->field_exists('pota', 'bandxuser')) {
|
|
|
|
$fields = array(
|
|
|
|
'pota' => array(
|
|
|
|
'type' => 'INT',
|
|
|
|
'constraint' => 20,
|
|
|
|
'unsigned' => TRUE,
|
|
|
|
),
|
|
|
|
);
|
|
|
|
$this->dbforge->add_column('bandxuser', $fields);
|
|
|
|
$this->db->query("update bandxuser set pota = 1");
|
|
|
|
}
|
2022-10-05 15:05:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public function down()
|
|
|
|
{
|
2023-01-28 14:21:09 +00:00
|
|
|
if ($this->db->field_exists('COL_POTA_REF', $this->config->item('table_name'))) {
|
|
|
|
$this->dbforge->drop_column($this->config->item('table_name'), 'COL_POTA_REF');
|
2022-10-05 19:21:15 +00:00
|
|
|
}
|
2023-01-28 14:21:09 +00:00
|
|
|
if ($this->db->field_exists('COL_MY_POTA_REF', $this->config->item('table_name'))) {
|
|
|
|
$this->dbforge->drop_column($this->config->item('table_name'), 'COL_MY_POTA_REF');
|
2022-10-05 19:21:15 +00:00
|
|
|
}
|
|
|
|
if ($this->db->field_exists('station_pota', 'station_profile')) {
|
|
|
|
$this->dbforge->drop_column('station_profile', 'station_pota');
|
|
|
|
}
|
2022-10-05 20:13:12 +00:00
|
|
|
if ($this->db->field_exists('pota', 'bandxuser')) {
|
|
|
|
$this->dbforge->drop_column('bandxuser', 'pota');
|
|
|
|
}
|
2022-10-05 15:05:53 +00:00
|
|
|
}
|
|
|
|
}
|