schema-mysql.sql 1.77 KB
Newer Older
Alexander Kochetov committed
1 2 3 4 5 6 7 8 9 10 11
/**
 * Database schema required by \yii\rbac\DbManager.
 *
 * @author Qiang Xue <qiang.xue@gmail.com>
 * @author Alexander Kochetov <creocoder@gmail.com>
 * @link http://www.yiiframework.com/
 * @copyright 2008 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 * @since 2.0
 */

12 13 14
drop table if exists `auth_assignment`;
drop table if exists `auth_item_child`;
drop table if exists `auth_item`;
15 16 17 18
drop table if exists `auth_rule`;

create table `auth_rule`
(
19 20 21 22
   `name`                 varchar(64) not null,
   `data`                 text,
   `created_at`           integer,
   `updated_at`           integer,
23 24
    primary key (`name`)
) engine InnoDB;
Alexander Kochetov committed
25

26
create table `auth_item`
Alexander Kochetov committed
27 28 29 30
(
   `name`                 varchar(64) not null,
   `type`                 integer not null,
   `description`          text,
31
   `rule_name`            varchar(64),
Alexander Kochetov committed
32
   `data`                 text,
33 34
   `created_at`           integer,
   `updated_at`           integer,
Qiang Xue committed
35
   primary key (`name`),
36
   foreign key (`rule_name`) references `auth_rule` (`name`) on delete set null on update cascade,
Qiang Xue committed
37
   key `type` (`type`)
Alexander Kochetov committed
38 39
) engine InnoDB;

40
create table `auth_item_child`
Alexander Kochetov committed
41 42 43
(
   `parent`               varchar(64) not null,
   `child`                varchar(64) not null,
44
   primary key (`parent`, `child`),
45 46
   foreign key (`parent`) references `auth_item` (`name`) on delete cascade on update cascade,
   foreign key (`child`) references `auth_item` (`name`) on delete cascade on update cascade
Alexander Kochetov committed
47 48
) engine InnoDB;

49
create table `auth_assignment`
Alexander Kochetov committed
50
(
51 52
   `item_name`            varchar(64) not null,
   `user_id`              varchar(64) not null,
53
   `created_at`           integer,
54
   primary key (`item_name`, `user_id`),
55 56
   foreign key (`item_name`) references `auth_item` (`name`) on delete cascade on update cascade
) engine InnoDB;