summaryrefslogtreecommitdiffstats
path: root/application/migrations/001_add_files.php
diff options
context:
space:
mode:
authorRafael Bodill <rafi@sortex.co.il>2014-09-18 21:02:26 +0200
committerRafael Bodill <rafi@sortex.co.il>2014-09-18 21:02:26 +0200
commit33f542487a89da4a8edad934b82aae7484f70ca3 (patch)
tree778650804404efa3546f71a0b49955f7eac43c57 /application/migrations/001_add_files.php
parentd2c309aee8189a5d6c2a3fcb0a05ea694d7b646e (diff)
Migrations support for PostgreSQL
Diffstat (limited to 'application/migrations/001_add_files.php')
-rw-r--r--application/migrations/001_add_files.php30
1 files changed, 17 insertions, 13 deletions
diff --git a/application/migrations/001_add_files.php b/application/migrations/001_add_files.php
index f1f16ea3a..c5e4e7dfe 100644
--- a/application/migrations/001_add_files.php
+++ b/application/migrations/001_add_files.php
@@ -5,19 +5,23 @@ class Migration_Add_files extends CI_Migration {
public function up()
{
- $this->db->query("
- CREATE TABLE IF NOT EXISTS `files` (
- `hash` varchar(32) CHARACTER SET ascii NOT NULL,
- `id` varchar(6) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
- `filename` varchar(256) COLLATE utf8_bin NOT NULL,
- `password` varchar(40) CHARACTER SET ascii COLLATE ascii_bin DEFAULT NULL,
- `date` int(11) unsigned NOT NULL,
- `mimetype` varchar(255) CHARACTER SET ascii NOT NULL,
- PRIMARY KEY (`id`),
- KEY `date` (`date`),
- KEY `hash` (`hash`,`id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
- ");
+ // Set database engine for MySQL drivers
+ if (strpos($this->db->dbdriver, 'mysql') !== FALSE)
+ {
+ $this->db->query('SET storage_engine=MYISAM');
+ }
+
+ $this->dbforge->add_field([
+ 'hash' => [ 'type' => 'varchar', 'constraint' => 32, 'null' => FALSE ],
+ 'id' => [ 'type' => 'varchar', 'constraint' => 6, 'null' => FALSE ],
+ 'filename' => [ 'type' => 'varchar', 'constraint' => 256, 'null' => FALSE ],
+ 'password' => [ 'type' => 'varchar', 'constraint' => 40, 'null' => TRUE ],
+ 'date' => [ 'type' => 'integer', 'unsigned' => TRUE, 'null' => FALSE ],
+ 'mimetype' => [ 'type' => 'varchar', 'constraint' => 255, 'null' => FALSE ],
+ ]);
+ $this->dbforge->add_key('id', TRUE);
+ $this->dbforge->add_key([ 'hash', 'id' ]);
+ $this->dbforge->create_table('files', TRUE);
}
public function down()