代码结构和说明
在第一章节中我列出了所有文件,本章我将会介绍所有的文件。
根目录
- db_design.txt
这是初始化数据库的sql脚本,在tool_portal目录下面有一个user.sqlite,这个文件就是由这个初始化脚本生成的。初始化脚本包括一系列的sql语句。如:
a) 建立用户表users,包括一个自动生成且唯一的userid,用户名username,用户的角色userrole,用户密码password
b) 建立角色表roles,包括一个自动生成且唯一的roleid,角色的名字rolename
c) 建立菜单表menu,包括一个自动生成且唯一的menuid,菜单名字menuname,菜单的父菜单parentmenu,菜单的顺序menuorder
d) 建立角色映射菜单rolemapping,包括包括一个自动生成且唯一的mappingid,角色roleid,和菜单menuid
具体的sql语句如下
CREATE TABLE users (userid INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT NOT NULL DEFAULT (null) ,userrole Integer,password text);
CREATE TABLE roles (roleid INTEGER PRIMARY KEY AUTOINCREMENT, rolename TEXT NOT NULL DEFAULT (null));
CREATE TABLE menus (menuid INTEGER PRIMARY KEY AUTOINCREMENT, menuname TEXT NOT NULL DEFAULT (null) ,parentmenu integer, menuorder INTEGER);
CREATE TABLE rolemappings (mappingid INTEGER PRIMARY KEY AUTOINCREMENT, roleid INTEGER, menuid INTEGER);
当表格建立完毕后,我们会增加一些默认值进入菜单中,包括
a) 在roles表中增加三个角色,admin, support, sales
b) 在users表中增加一个admin用户,密码是Password123!
c) 在menus表中增加两个父菜单supportmenu和salesmenu,同时给他们增加各两个子菜单supportsubmenu1/2 和salessubmenu1/2
具体sql语句如下
insert into roles(rolename) values('admin');
insert into roles(rolename) values('support');
insert into roles(rolename) values('sales');
insert into users(username,userrole,password) values ('admin',1,'63c9c7ffffcae785a032832c03cf0c79da5d5789b6a152aa49751b65');
insert into menus (