Skip to content

Commit e35d6b7

Browse files
committed
Add unique constraint in users_groups (Issue benedmunds#454)
Issue benedmunds#454; tested with MSSQL, MySQL & PostgreSQL. MongoDB unaffected.
1 parent 42b64fd commit e35d6b7

File tree

3 files changed

+4
-1
lines changed

3 files changed

+4
-1
lines changed

sql/ion_auth.mssql.sql

+1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ CREATE TABLE users_groups (
3636
user_id int NOT NULL,
3737
group_id int NOT NULL,
3838
PRIMARY KEY(id),
39+
CONSTRAINT uc_users_groups UNIQUE (user_id, group_id),
3940
CONSTRAINT users_groups_check_id CHECK(id >= 0),
4041
CONSTRAINT users_groups_check_group_id CHECK(group_id >= 0),
4142
CONSTRAINT users_groups_check_user_id CHECK(user_id >= 0)

sql/ion_auth.postgre.sql

+1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ CREATE TABLE "users_groups" (
3636
"user_id" integer NOT NULL,
3737
"group_id" integer NOT NULL,
3838
PRIMARY KEY("id"),
39+
CONSTRAINT "uc_users_groups" UNIQUE (user_id, group_id),
3940
CONSTRAINT "users_groups_check_id" CHECK(id >= 0),
4041
CONSTRAINT "users_groups_check_user_id" CHECK(user_id >= 0),
4142
CONSTRAINT "users_groups_check_group_id" CHECK(group_id >= 0)

sql/ion_auth.sql

+2-1
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ CREATE TABLE `users_groups` (
7070
PRIMARY KEY (`id`),
7171
KEY `fk_users_groups_users1_idx` (`user_id`),
7272
KEY `fk_users_groups_groups1_idx` (`group_id`),
73+
CONSTRAINT `uc_users_groups` UNIQUE (`user_id`, `group_id`),
7374
CONSTRAINT `fk_users_groups_users1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
7475
CONSTRAINT `fk_users_groups_groups1` FOREIGN KEY (`group_id`) REFERENCES `groups` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION
7576
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
@@ -91,4 +92,4 @@ CREATE TABLE `login_attempts` (
9192
`login` varchar(100) NOT NULL,
9293
`time` int(11) unsigned DEFAULT NULL,
9394
PRIMARY KEY (`id`)
94-
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
95+
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

0 commit comments

Comments
 (0)