| 
									
										
										
										
											2022-10-05 23:05:53 +08:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | defined('BASEPATH') OR exit('No direct script access allowed'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * Class Migration_add_pota_columns | 
					
						
							|  |  |  |  * | 
					
						
							| 
									
										
										
										
											2022-12-07 15:29:50 +08: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 23:05:53 +08:00
										 |  |  |  *  | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class Migration_add_pota_columns extends CI_Migration { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         public function up() | 
					
						
							|  |  |  |         { | 
					
						
							| 
									
										
										
										
											2023-01-28 22:21:09 +08:00
										 |  |  |                 if (!$this->db->field_exists('COL_POTA_REF', $this->config->item('table_name'))) { | 
					
						
							| 
									
										
										
										
											2022-10-05 23:05:53 +08:00
										 |  |  |                         $fields = array( | 
					
						
							|  |  |  |                                 'COL_POTA_REF VARCHAR(30) DEFAULT NULL', | 
					
						
							|  |  |  |                                 'COL_MY_POTA_REF VARCHAR(50) DEFAULT NULL', | 
					
						
							|  |  |  |                         ); | 
					
						
							| 
									
										
										
										
											2023-01-28 22:21:09 +08:00
										 |  |  |                         $this->dbforge->add_column($this->config->item('table_name'), $fields, 'COL_VUCC_GRIDS'); | 
					
						
							| 
									
										
										
										
											2022-10-05 23:05:53 +08: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 22:21:09 +08:00
										 |  |  |                         $this->db->update($this->config->item('table_name')); | 
					
						
							| 
									
										
										
										
											2022-10-05 23:05:53 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-06 03:21:15 +08:00
										 |  |  |                 } | 
					
						
							|  |  |  |                 if (!$this->db->field_exists('station_pota', 'station_profile')) { | 
					
						
							| 
									
										
										
										
											2022-10-05 23:05:53 +08: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-06 04:13:12 +08: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 23:05:53 +08:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         public function down() | 
					
						
							|  |  |  |         { | 
					
						
							| 
									
										
										
										
											2023-01-28 22:21:09 +08: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-06 03:21:15 +08:00
										 |  |  |                 } | 
					
						
							| 
									
										
										
										
											2023-01-28 22:21:09 +08: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-06 03:21:15 +08:00
										 |  |  |                 } | 
					
						
							|  |  |  |                 if ($this->db->field_exists('station_pota', 'station_profile')) { | 
					
						
							|  |  |  |                         $this->dbforge->drop_column('station_profile', 'station_pota'); | 
					
						
							|  |  |  |                 } | 
					
						
							| 
									
										
										
										
											2022-10-06 04:13:12 +08:00
										 |  |  |                 if ($this->db->field_exists('pota', 'bandxuser')) { | 
					
						
							|  |  |  |                         $this->dbforge->drop_column('bandxuser', 'pota'); | 
					
						
							|  |  |  |                 } | 
					
						
							| 
									
										
										
										
											2022-10-05 23:05:53 +08:00
										 |  |  |         } | 
					
						
							|  |  |  | } |