diff options
author | Florian Pritz <bluewind@xinu.at> | 2017-09-16 14:28:30 +0200 |
---|---|---|
committer | Florian Pritz <bluewind@xinu.at> | 2017-09-16 14:28:30 +0200 |
commit | 1846a9c0fae6541b0eab130a506e9c5ce18c2d7f (patch) | |
tree | 88512822e59b244b2c1db2ac7c2eb6ba776d39b0 /application/migrations | |
parent | acad800b75b5cb590b2c1db8080c2dda0aaa1979 (diff) |
Update ci_session table for CI3
Signed-off-by: Florian Pritz <bluewind@xinu.at>
Diffstat (limited to 'application/migrations')
-rw-r--r-- | application/migrations/020_update_session_table.php | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/application/migrations/020_update_session_table.php b/application/migrations/020_update_session_table.php new file mode 100644 index 000000000..9052071e0 --- /dev/null +++ b/application/migrations/020_update_session_table.php @@ -0,0 +1,42 @@ +<?php +defined('BASEPATH') OR exit('No direct script access allowed'); + +class Migration_update_session_table extends CI_Migration { + + public function up() + { + $prefix = $this->db->dbprefix; + + if ($this->db->dbdriver == 'postgre') { + $this->db->query(' + ALTER TABLE "'.$prefix.'ci_sessions" + DROP COLUMN "user_agent"; + '); + $this->db->query(' + ALTER TABLE "'.$prefix.'ci_sessions" + RENAME COLUMN "session_id" TO "id"; + '); + $this->db->query(' + ALTER TABLE "'.$prefix.'ci_sessions" + RENAME COLUMN "last_activity" TO "timestamp"; + '); + $this->db->query(' + ALTER TABLE "'.$prefix.'ci_sessions" + RENAME COLUMN "user_data" TO "data"; + '); + } else { + $this->db->query(' + ALTER TABLE `'.$prefix.'ci_sessions` + DROP `user_agent`, + CHANGE `session_id` `id` VARCHAR(40) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 0, + CHANGE `last_activity` `timestamp` INT(10) UNSIGNED NOT NULL DEFAULT 0, + CHANGE `user_data` `data` BLOB NOT NULL; + '); + } + } + + public function down() + { + throw new \exceptions\ApiException("migration/downgrade-not-supported", "downgrade not supported"); + } +} |