From 33f542487a89da4a8edad934b82aae7484f70ca3 Mon Sep 17 00:00:00 2001 From: Rafael Bodill Date: Thu, 18 Sep 2014 22:02:26 +0300 Subject: Migrations support for PostgreSQL --- application/migrations/012_add_constraints.php | 27 ++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) (limited to 'application/migrations/012_add_constraints.php') diff --git a/application/migrations/012_add_constraints.php b/application/migrations/012_add_constraints.php index 2b0764fb0..04c0fb9ca 100644 --- a/application/migrations/012_add_constraints.php +++ b/application/migrations/012_add_constraints.php @@ -5,12 +5,27 @@ class Migration_add_constraints extends CI_Migration { public function up() { - $this->db->query("ALTER TABLE `users` ADD INDEX(`referrer`);"); - $this->db->query("ALTER TABLE `users` CHANGE `referrer` `referrer` - INT(8) UNSIGNED NULL;"); - $this->db->query("UPDATE `users` SET `referrer` = NULL where `referrer` = 0;"); - $this->db->query("ALTER TABLE `users` ADD FOREIGN KEY (`referrer`) - REFERENCES `users`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;"); + if ($this->db->dbdriver == 'postgre') + { + $this->db->query('ALTER TABLE "users" ALTER COLUMN "referrer" TYPE integer'); + $this->db->query('ALTER TABLE "users" ALTER COLUMN "referrer" DROP NOT NULL'); + $this->db->query('CREATE INDEX "users_referrer_idx" ON "users" ("referrer")'); + $this->db->query('UPDATE "users" SET "referrer" = NULL where "referrer" = 0'); + $this->db->query(' + ALTER TABLE "users" + ADD CONSTRAINT "referrer_user_fkey" FOREIGN KEY ("referrer") + REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE RESTRICT + '); + } + else + { + $this->db->query("ALTER TABLE `users` ADD INDEX(`referrer`);"); + $this->db->query("ALTER TABLE `users` CHANGE `referrer` `referrer` + INT(8) UNSIGNED NULL;"); + $this->db->query("UPDATE `users` SET `referrer` = NULL where `referrer` = 0;"); + $this->db->query("ALTER TABLE `users` ADD FOREIGN KEY (`referrer`) + REFERENCES `users`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;"); + } } public function down() -- cgit v1.2.3-24-g4f1b From fe7f15dbfb8020daf96110e86e359ec01558fcb8 Mon Sep 17 00:00:00 2001 From: Rafael Bodill Date: Thu, 18 Sep 2014 22:47:21 +0300 Subject: Correcting bracket style for 'if' --- application/migrations/012_add_constraints.php | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'application/migrations/012_add_constraints.php') diff --git a/application/migrations/012_add_constraints.php b/application/migrations/012_add_constraints.php index 04c0fb9ca..1ed4abf08 100644 --- a/application/migrations/012_add_constraints.php +++ b/application/migrations/012_add_constraints.php @@ -5,8 +5,7 @@ class Migration_add_constraints extends CI_Migration { public function up() { - if ($this->db->dbdriver == 'postgre') - { + if ($this->db->dbdriver == 'postgre') { $this->db->query('ALTER TABLE "users" ALTER COLUMN "referrer" TYPE integer'); $this->db->query('ALTER TABLE "users" ALTER COLUMN "referrer" DROP NOT NULL'); $this->db->query('CREATE INDEX "users_referrer_idx" ON "users" ("referrer")'); @@ -16,9 +15,9 @@ class Migration_add_constraints extends CI_Migration { ADD CONSTRAINT "referrer_user_fkey" FOREIGN KEY ("referrer") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE RESTRICT '); - } - else - { + + } else { + $this->db->query("ALTER TABLE `users` ADD INDEX(`referrer`);"); $this->db->query("ALTER TABLE `users` CHANGE `referrer` `referrer` INT(8) UNSIGNED NULL;"); -- cgit v1.2.3-24-g4f1b