summaryrefslogtreecommitdiffstats
path: root/application/migrations/007_repurpose_invitations.php
diff options
context:
space:
mode:
authorRafael Bodill <rafi@sortex.co.il>2014-09-19 17:47:01 +0200
committerRafael Bodill <rafi@sortex.co.il>2014-09-19 17:47:01 +0200
commit0b62a117ca8d34331406a07dc52aa937ff76ace1 (patch)
tree318a5c84cdb11d27017d1cadd1dd517618682fd9 /application/migrations/007_repurpose_invitations.php
parentd2c309aee8189a5d6c2a3fcb0a05ea694d7b646e (diff)
parent75b0a939c7ce24014a8db95a3355d2a7ffdfe3a9 (diff)
Merge branch 'pgsql_migrations'
* pgsql_migrations: Optimizing multipaste tables apikeys.created should be timestamp with default now() No column based encoding. Reverting dbforge migration Correcting bracket style for 'if' Migrations support for PostgreSQL
Diffstat (limited to 'application/migrations/007_repurpose_invitations.php')
-rw-r--r--application/migrations/007_repurpose_invitations.php70
1 files changed, 49 insertions, 21 deletions
diff --git a/application/migrations/007_repurpose_invitations.php b/application/migrations/007_repurpose_invitations.php
index d586c2829..024b62984 100644
--- a/application/migrations/007_repurpose_invitations.php
+++ b/application/migrations/007_repurpose_invitations.php
@@ -5,33 +5,61 @@ class Migration_Repurpose_invitations extends CI_Migration {
public function up()
{
- $this->db->query("
- ALTER TABLE `invitations`
- ADD `action` VARCHAR(255) NOT NULL,
- ADD `data` TEXT NULL,
- ADD INDEX `action` (`action`);
- ");
+ if ($this->db->dbdriver == 'postgre') {
+ $this->db->query('
+ ALTER TABLE "invitations"
+ ADD "action" character varying(255) NOT NULL,
+ ADD "data" TEXT NULL;
+ CREATE INDEX "invitations_action_idx" ON invitations ("action");
+ ');
- $this->db->query("
- UPDATE `invitations` SET `action` = 'invitation' WHERE `action` = '';
- ");
+ $this->db->query('
+ UPDATE "invitations" SET "action" = \'invitation\' WHERE "action" = \'\'
+ ');
- $this->db->query("
- ALTER TABLE `invitations` RENAME `actions`;
- ");
+ $this->db->query('
+ ALTER TABLE "invitations" RENAME TO "actions";
+ ');
+ } else {
+
+ $this->db->query("
+ ALTER TABLE `invitations`
+ ADD `action` VARCHAR(255) NOT NULL,
+ ADD `data` TEXT NULL,
+ ADD INDEX `action` (`action`);
+ ");
+
+ $this->db->query("
+ UPDATE `invitations` SET `action` = 'invitation' WHERE `action` = '';
+ ");
+
+ $this->db->query("
+ ALTER TABLE `invitations` RENAME `actions`;
+ ");
+ }
}
public function down()
{
- $this->db->query("
- ALTER TABLE `actions` RENAME `invitations`;
- ");
-
- $this->db->query("
- ALTER TABLE `invitations`
- DROP `action`,
- DROP `data`;
- ");
+ if ($this->db->dbdriver == 'postgre')
+ {
+ $this->db->query('ALTER TABLE "actions" RENAME TO "invitations"');
+ $this->db->query('
+ ALTER TABLE "invitations"
+ DROP "action",
+ DROP "data";
+ ');
+
+ } else {
+
+ $this->db->query('ALTER TABLE `actions` RENAME `invitations`');
+ $this->db->query('
+ ALTER TABLE `invitations`
+ DROP `action`,
+ DROP `data`;
+ ');
+ }
+
}
}