From 6f1258fbf27b05092ed0712c7d20bafda42074ea Mon Sep 17 00:00:00 2001 From: Florian Pritz Date: Tue, 3 Feb 2015 23:30:13 +0100 Subject: Support database table prefixes This also cleans up some inconsistencies with quotes. Signed-off-by: Florian Pritz --- application/migrations/012_add_constraints.php | 28 ++++++++++++++------------ 1 file changed, 15 insertions(+), 13 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 f298ceb5f..40a4540f6 100644 --- a/application/migrations/012_add_constraints.php +++ b/application/migrations/012_add_constraints.php @@ -5,25 +5,27 @@ class Migration_add_constraints extends CI_Migration { public function up() { + $prefix = $this->db->dbprefix; + 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 "'.$prefix.'users" ALTER COLUMN "referrer" TYPE integer'); + $this->db->query('ALTER TABLE "'.$prefix.'users" ALTER COLUMN "referrer" DROP NOT NULL'); + $this->db->query('CREATE INDEX "users_referrer_idx" ON "'.$prefix.'users" ("referrer")'); + $this->db->query('UPDATE "'.$prefix.'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 + ALTER TABLE "'.$prefix.'users" + ADD CONSTRAINT "'.$prefix.'referrer_user_fkey" FOREIGN KEY ("referrer") + REFERENCES "'.$prefix.'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;"); + $this->db->query('ALTER TABLE `'.$prefix.'users` ADD INDEX(`referrer`);'); + $this->db->query('ALTER TABLE `'.$prefix.'users` CHANGE `referrer` `referrer` + INT(8) UNSIGNED NULL;'); + $this->db->query('UPDATE `'.$prefix.'users` SET `referrer` = NULL where `referrer` = 0;'); + $this->db->query('ALTER TABLE `'.$prefix.'users` ADD FOREIGN KEY (`referrer`) + REFERENCES `'.$prefix.'users`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;'); } } -- cgit v1.2.3-24-g4f1b