| 
									
										
										
										
											2023-04-19 21:32:32 +08:00
										 |  |  | <?php | 
					
						
							|  |  |  | defined('BASEPATH') or exit('No direct script access allowed'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class Migration_make_lotw_use_dxcc_id extends CI_Migration | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	public function up() | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		$fields = array( | 
					
						
							| 
									
										
										
										
											2023-04-20 04:10:44 +08:00
										 |  |  | 			'cert_dxcc_id SMALLINT(6) DEFAULT 0 NOT NULL AFTER `cert_dxcc`', | 
					
						
							| 
									
										
										
										
											2023-04-19 21:32:32 +08:00
										 |  |  | 		); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		if (!$this->db->field_exists('cert_dxcc_id', 'lotw_certs')) { | 
					
						
							|  |  |  | 			$this->dbforge->add_column('lotw_certs', $fields); | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-04-22 14:37:04 +08:00
										 |  |  | 		if ($this->db->field_exists('cert_dxcc', 'lotw_certs')) { | 
					
						
							|  |  |  | 			$sql = 'UPDATE `lotw_certs` JOIN `dxcc_entities` ON `lotw_certs`.`cert_dxcc` = `dxcc_entities`.`name` SET `lotw_certs`.`cert_dxcc_id` = `dxcc_entities`.`adif`;'; | 
					
						
							|  |  |  | 			$this->db->query($sql); | 
					
						
							|  |  |  | 			$this->dbforge->drop_column('lotw_certs', 'cert_dxcc'); | 
					
						
							|  |  |  | 		}	 | 
					
						
							| 
									
										
										
										
											2023-04-19 21:32:32 +08:00
										 |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	public function down() | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		$fields = array( | 
					
						
							|  |  |  | 			'cert_dxcc VARCHAR(255) NOT NULL AFTER `callsign`', | 
					
						
							|  |  |  | 		); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		if (!$this->db->field_exists('cert_dxcc', 'lotw_certs')) { | 
					
						
							|  |  |  | 			$this->dbforge->add_column('lotw_certs', $fields); | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$sql = 'UPDATE `lotw_certs` JOIN `dxcc_entities` ON `lotw_certs`.`cert_dxcc_id` = `dxcc_entities`.`adif` SET `lotw_certs`.`cert_dxcc` = `dxcc_entities`.`name`;'; | 
					
						
							|  |  |  | 		$this->db->query($sql); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		$this->dbforge->drop_column('lotw_certs', 'cert_dxcc_id'); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | } |