summaryrefslogtreecommitdiffstats
path: root/application/migrations/012_add_constraints.php
blob: f3b34d2afcd124b5fa9b623b3adc57ed51b91869 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Migration_add_constraints extends CI_Migration {

	public function up()
	{
		$this->db->query("ALTER TABLE `apikeys` ADD FOREIGN KEY (`user`)
			REFERENCES `users`(`id`) ON DELETE CASCADE ON UPDATE RESTRICT;");
		$this->db->query("ALTER TABLE `files` ADD FOREIGN KEY (`user`)
			REFERENCES `users`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;");
		$this->db->query("ALTER TABLE `profiles` ADD FOREIGN KEY (`user`)
			REFERENCES `users`(`id`) ON DELETE CASCADE ON UPDATE RESTRICT;");
		$this->db->query("ALTER TABLE `actions` ADD FOREIGN KEY (`user`)
			REFERENCES `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("UPDATE `users` SET `referrer` = NULL where `referrer` = 0;");
		$this->db->query("ALTER TABLE `users` ADD FOREIGN KEY (`referrer`)
			REFERENCES `users`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;");
	}

	public function down()
	{
		show_error("downgrade not supported");
	}
}