diff --git a/application/config/migration.php b/application/config/migration.php index b334c6b80..bd90bbc19 100644 --- a/application/config/migration.php +++ b/application/config/migration.php @@ -22,7 +22,7 @@ $config['migration_enabled'] = TRUE; | */ -$config['migration_version'] = 251; +$config['migration_version'] = 252; /* |-------------------------------------------------------------------------- diff --git a/application/migrations/252_add_oqrs_cascade.php b/application/migrations/252_add_oqrs_cascade.php new file mode 100644 index 000000000..f0823119e --- /dev/null +++ b/application/migrations/252_add_oqrs_cascade.php @@ -0,0 +1,25 @@ +dbtry("ALTER TABLE oqrs MODIFY COLUMN qsoid BIGINT(20) UNSIGNED;"); + $this->dbtry("ALTER TABLE oqrs ADD UNIQUE (qsoid)"); + $this->dbtry("ALTER TABLE oqrs ADD CONSTRAINT oqrs_logbook_fk FOREIGN KEY (qsoid) REFERENCES " . $this->config->item('table_name') . " (COL_PRIMARY_KEY) ON DELETE CASCADE ON UPDATE RESTRICT;"); + } + + public function down(){ + $this->dbtry("ALTER TABLE oqrs MODIFY COLUMN qsoid INT;"); + $this->dbtry("ALTER TABLE oqrs DROP UNIQUE (qsoid);"); + $this->dbtry("ALTER TABLE oqrs DROP FOREIGN KEY oqrs_logbook_fk;"); + } + function dbtry($what) { + try { + $this->db->query($what); + } catch (Exception $e) { + log_message("error", "Something gone wrong while altering FKs: ".$e." // Executing: ".$this->db->last_query()); + } + } +}