diff options
Diffstat (limited to 'application/migrations')
-rw-r--r-- | application/migrations/012_add_constraints.php | 29 |
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"); + } +} |