summaryrefslogtreecommitdiffstats
path: root/application
diff options
context:
space:
mode:
Diffstat (limited to 'application')
-rw-r--r--application/migrations/001_add_files.php46
1 files changed, 31 insertions, 15 deletions
diff --git a/application/migrations/001_add_files.php b/application/migrations/001_add_files.php
index 8af202285..70efbb520 100644
--- a/application/migrations/001_add_files.php
+++ b/application/migrations/001_add_files.php
@@ -5,22 +5,38 @@ class Migration_Add_files extends CI_Migration {
public function up()
{
- // Set database engine for MySQL drivers
- if (strpos($this->db->dbdriver, 'mysql') !== FALSE) {
- $this->db->query('SET storage_engine=MYISAM');
+ if ($this->db->dbdriver == 'postgre')
+ {
+ $this->db->query('
+ CREATE TABLE IF NOT EXISTS "files" (
+ "hash" varchar(32) NOT NULL,
+ "id" varchar(6) NOT NULL,
+ "filename" varchar(256) NOT NULL,
+ "password" varchar(40) DEFAULT NULL,
+ "date" integer NOT NULL,
+ "mimetype" varchar(255) NOT NULL,
+ PRIMARY KEY ("id")
+ );
+ CREATE INDEX "files_date_idx" ON files ("date");
+ CREATE INDEX "files_hash_id_idx" ON files ("hash", "id");
+ ');
+ }
+ else
+ {
+ $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;
+ ");
}
-
- $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()