summaryrefslogtreecommitdiffstats
path: root/application/migrations/003_add_referrers.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/003_add_referrers.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/003_add_referrers.php')
-rw-r--r--application/migrations/003_add_referrers.php61
1 files changed, 43 insertions, 18 deletions
diff --git a/application/migrations/003_add_referrers.php b/application/migrations/003_add_referrers.php
index 524e92ff0..9ca167eab 100644
--- a/application/migrations/003_add_referrers.php
+++ b/application/migrations/003_add_referrers.php
@@ -5,28 +5,53 @@ class Migration_Add_referrers extends CI_Migration {
public function up()
{
- $this->db->query("
- CREATE TABLE `invitations` (
- `user` int(8) unsigned NOT NULL,
- `key` varchar(16) CHARACTER SET ascii NOT NULL,
- `date` int(11) unsigned NOT NULL,
- PRIMARY KEY (`key`),
- KEY `user` (`user`),
- KEY `date` (`date`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
- ");
- $this->db->query("
- ALTER TABLE `users`
- ADD `referrer` INT(8) UNSIGNED NOT NULL DEFAULT '0'
- ");
+ if ($this->db->dbdriver == 'postgre') {
+ $this->db->query('
+ CREATE TABLE "invitations" (
+ "user" integer NOT NULL,
+ "key" character varying(16) NOT NULL,
+ "date" integer NOT NULL,
+ PRIMARY KEY ("key")
+ );
+ CREATE INDEX "invitations_user_idx" ON "invitations" ("user");
+ CREATE INDEX "invitations_date_idx" ON "invitations" ("date");
+ ');
+ $this->db->query('
+ ALTER TABLE "users"
+ ADD "referrer" integer NOT NULL DEFAULT 0
+ ');
+
+ } else {
+
+ $this->db->query("
+ CREATE TABLE `invitations` (
+ `user` int(8) unsigned NOT NULL,
+ `key` varchar(16) CHARACTER SET ascii NOT NULL,
+ `date` int(11) unsigned NOT NULL,
+ PRIMARY KEY (`key`),
+ KEY `user` (`user`),
+ KEY `date` (`date`)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
+ ");
+ $this->db->query("
+ ALTER TABLE `users`
+ ADD `referrer` INT(8) UNSIGNED NOT NULL DEFAULT '0'
+ ");
+ }
}
public function down()
{
- $this->db->query("
- ALTER TABLE `users`
- DROP `referrer`
- ");
+ if ($this->db->dbdriver == 'postgre')
+ {
+ $this->db->query('
+ ALTER TABLE "users" DROP "referrer"
+ ');
+ } else {
+ $this->db->query('
+ ALTER TABLE `users` DROP `referrer`
+ ');
+ }
$this->dbforge->drop_table('invitations');
}