summaryrefslogtreecommitdiffstats
path: root/application/migrations
diff options
context:
space:
mode:
Diffstat (limited to 'application/migrations')
-rw-r--r--application/migrations/012_add_constraints.php29
1 files changed, 29 insertions, 0 deletions
diff --git a/application/migrations/012_add_constraints.php b/application/migrations/012_add_constraints.php
new file mode 100644
index 000000000..e0116ea05
--- /dev/null
+++ b/application/migrations/012_add_constraints.php
@@ -0,0 +1,29 @@
+<?php
+defined('BASEPATH') OR exit('No direct script access allowed');
+
+class Migration_add_constraints extends CI_Migration {
+
+ public function up()
+ {
+ $this->db->query("UPDATE `users` SET `referrer` = NULL where `referrer` = 0;");
+ $this->db->query("ALTER TABLE `apikeys` ADD FOREIGN KEY (`user`)
+ REFERENCES `filebin`.`users`(`id`) ON DELETE CASCADE ON UPDATE RESTRICT;");
+ $this->db->query("ALTER TABLE `files` ADD FOREIGN KEY (`user`)
+ REFERENCES `filebin`.`users`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;");
+ $this->db->query("ALTER TABLE `profiles` ADD FOREIGN KEY (`user`)
+ REFERENCES `filebin`.`users`(`id`) ON DELETE CASCADE ON UPDATE RESTRICT;");
+ $this->db->query("ALTER TABLE `actions` ADD FOREIGN KEY (`user`)
+ REFERENCES `filebin`.`users`(`id`) ON DELETE CASCADE ON UPDATE RESTRICT;");
+
+ $this->db->query("ALTER TABLE `users` ADD INDEX(`referrer`);");
+ $this->db->query("ALTER TABLE `users` CHANGE `referrer` `referrer`
+ INT(8) UNSIGNED NULL;");
+ $this->db->query("ALTER TABLE `users` ADD FOREIGN KEY (`referrer`)
+ REFERENCES `filebin`.`users`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;");
+ }
+
+ public function down()
+ {
+ show_error("downgrade not supported");
+ }
+}