-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsymfony_rbac_202011160954.sql
181 lines (158 loc) · 4.26 KB
/
symfony_rbac_202011160954.sql
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
--
-- Script was generated by Devart dbForge Studio 2020 for MySQL, Version 9.0.338.0
-- Product home page: http://www.devart.com/dbforge/mysql/studio
-- Script date 11/16/2020 9:54:20 AM
-- Server version: 5.7.31
-- Client version: 4.1
--
--
-- Disable foreign keys
--
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
--
-- Set SQL mode
--
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
--
-- Set character set the client will use to send SQL statements to the server
--
SET NAMES 'utf8';
--
-- Set default database
--
USE symfony-rbac;
--
-- Drop table `auth_assignment`
--
DROP TABLE IF EXISTS auth_assignment;
--
-- Drop table `auth_item_child`
--
DROP TABLE IF EXISTS auth_item_child;
--
-- Drop table `auth_item`
--
DROP TABLE IF EXISTS auth_item;
--
-- Drop table `auth_rule`
--
DROP TABLE IF EXISTS auth_rule;
--
-- Set default database
--
USE oa_rbac;
--
-- Create table `auth_rule`
--
CREATE TABLE auth_rule (
name varchar(64) NOT NULL COMMENT 'Rule name',
data text DEFAULT NULL COMMENT 'a serialized object instance of a class that implements the rbacrule interface',
created_at int(11) DEFAULT NULL COMMENT 'Creation time',
updated_at int(11) DEFAULT NULL COMMENT 'Update time',
PRIMARY KEY (name)
)
ENGINE = INNODB,
AVG_ROW_LENGTH = 16384,
CHARACTER SET utf8,
COLLATE utf8_general_ci,
COMMENT = 'rule table of Role(Permission)';
--
-- Create index `created_at` on table `auth_rule`
--
ALTER TABLE auth_rule
ADD INDEX created_at (created_at);
--
-- Create index `name` on table `auth_rule`
--
ALTER TABLE auth_rule
ADD INDEX name (name);
--
-- Create index `updated_at` on table `auth_rule`
--
ALTER TABLE auth_rule
ADD INDEX updated_at (updated_at);
--
-- Create table `auth_item`
--
CREATE TABLE auth_item (
name varchar(64) NOT NULL COMMENT 'Role (Permission) unique identification',
alias varchar(64) DEFAULT NULL COMMENT 'Role (permission) name',
type int(11) NOT NULL COMMENT 'type:1 For Poles; 2 for Permissions',
category int(11) DEFAULT NULL COMMENT 'classification',
description text DEFAULT NULL COMMENT 'description',
rule_name varchar(64) DEFAULT NULL COMMENT 'name of rule',
data text DEFAULT NULL COMMENT 'extra data',
status int(2) NOT NULL DEFAULT 1 COMMENT 'Enable 1 disable 0',
created_at int(11) DEFAULT NULL COMMENT 'Creation time',
updated_at int(11) DEFAULT NULL COMMENT 'Update time',
PRIMARY KEY (name)
)
ENGINE = INNODB,
AVG_ROW_LENGTH = 585,
CHARACTER SET utf8,
COLLATE utf8_general_ci,
COMMENT = 'table of Role(Permission)';
--
-- Create index `type` on table `auth_item`
--
ALTER TABLE auth_item
ADD INDEX type (type);
--
-- Create foreign key
--
ALTER TABLE auth_item
ADD CONSTRAINT auth_item_ibfk_1 FOREIGN KEY (rule_name)
REFERENCES auth_rule (name) ON DELETE SET NULL ON UPDATE CASCADE;
--
-- Create table `auth_item_child`
--
CREATE TABLE auth_item_child (
parent varchar(64) NOT NULL COMMENT 'name of Role(Permission)',
child varchar(64) NOT NULL COMMENT 'name of Role(Permission)',
PRIMARY KEY (parent, child)
)
ENGINE = INNODB,
AVG_ROW_LENGTH = 585,
CHARACTER SET utf8,
COLLATE utf8_general_ci,
COMMENT = 'relation table of Role(Permission)';
--
-- Create foreign key
--
ALTER TABLE auth_item_child
ADD CONSTRAINT auth_item_child_ibfk_1 FOREIGN KEY (parent)
REFERENCES auth_item (name) ON DELETE CASCADE ON UPDATE CASCADE;
--
-- Create foreign key
--
ALTER TABLE auth_item_child
ADD CONSTRAINT auth_item_child_ibfk_2 FOREIGN KEY (child)
REFERENCES auth_item (name) ON DELETE CASCADE ON UPDATE CASCADE;
--
-- Create table `auth_assignment`
--
CREATE TABLE auth_assignment (
item_name varchar(64) NOT NULL COMMENT 'name of Role(Permission)',
user_id varchar(64) NOT NULL COMMENT 'user’s id',
created_at int(11) DEFAULT NULL COMMENT 'Creation time',
PRIMARY KEY (item_name, user_id)
)
ENGINE = INNODB,
AVG_ROW_LENGTH = 4096,
CHARACTER SET utf8,
COLLATE utf8_general_ci,
COMMENT = 'relation table of User-Role(Permission)';
--
-- Create foreign key
--
ALTER TABLE auth_assignment
ADD CONSTRAINT auth_assignment_ibfk_1 FOREIGN KEY (item_name)
REFERENCES auth_item (name) ON DELETE CASCADE ON UPDATE CASCADE;
--
-- Restore previous SQL mode
--
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
--
-- Enable foreign keys
--
/*!40014 SET FOREIGN_KEY_CHECKS = @OLD_FOREIGN_KEY_CHECKS */;