diff options
author | Rafael Bodill <rafi@sortex.co.il> | 2014-09-18 21:02:26 +0200 |
---|---|---|
committer | Rafael Bodill <rafi@sortex.co.il> | 2014-09-18 21:02:26 +0200 |
commit | 33f542487a89da4a8edad934b82aae7484f70ca3 (patch) | |
tree | 778650804404efa3546f71a0b49955f7eac43c57 /application/migrations/008_add_profiles.php | |
parent | d2c309aee8189a5d6c2a3fcb0a05ea694d7b646e (diff) |
Migrations support for PostgreSQL
Diffstat (limited to 'application/migrations/008_add_profiles.php')
-rw-r--r-- | application/migrations/008_add_profiles.php | 60 |
1 files changed, 44 insertions, 16 deletions
diff --git a/application/migrations/008_add_profiles.php b/application/migrations/008_add_profiles.php index 3fea33c08..1e55c7d14 100644 --- a/application/migrations/008_add_profiles.php +++ b/application/migrations/008_add_profiles.php @@ -5,27 +5,55 @@ class Migration_Add_profiles extends CI_Migration { public function up() { - $this->db->query(" - CREATE TABLE `profiles` ( - `user` int(8) unsigned NOT NULL, - `upload_id_limits` varchar(255) COLLATE utf8_bin NOT NULL, - PRIMARY KEY (`user`) - ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin - "); + if ($this->db->dbdriver == 'postgre') + { + $this->db->query(' + CREATE TABLE "profiles" ( + "user" integer NOT NULL, + "upload_id_limits" varchar(255) NOT NULL, + PRIMARY KEY ("user") + ) + '); - $this->db->query(" - ALTER TABLE `files` CHANGE `id` `id` VARCHAR( 255 ); - "); + $this->db->query(' + ALTER TABLE "files" ALTER COLUMN "id" TYPE varchar(255); + '); + } + else + { + $this->db->query(" + CREATE TABLE `profiles` ( + `user` int(8) unsigned NOT NULL, + `upload_id_limits` varchar(255) COLLATE utf8_bin NOT NULL, + PRIMARY KEY (`user`) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin + "); + $this->db->query(" + ALTER TABLE `files` CHANGE `id` `id` VARCHAR( 255 ); + "); + } } public function down() { - $this->db->query(" - DROP TABLE `profiles`; - "); - $this->db->query(" - ALTER TABLE `files` CHANGE `id` `id` VARCHAR( 6 ); - "); + if ($this->db->dbdriver == 'postgre') + { + $this->db->query(' + DROP TABLE "profiles"; + '); + $this->db->query(' + ALTER TABLE "files" ALTER COLUMN "id" TYPE varchar(6); + '); + } + else + { + $this->db->query(" + DROP TABLE `profiles`; + "); + $this->db->query(" + ALTER TABLE `files` CHANGE `id` `id` VARCHAR( 6 ); + "); + } } } |