git-svn-id: file:///svn-source/pmgr/branches/pre_0.1_work_20090819@799 97e9348a-65ac-dc4b-aefc-98561f571b83
298 lines
12 KiB
SQL
298 lines
12 KiB
SQL
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ##
|
|
-- ## GROUPS / USERS
|
|
-- ##
|
|
|
|
|
|
-- ----------------------------------------------------------------------
|
|
-- ----------------------------------------------------------------------
|
|
-- TABLE pmgr_groups
|
|
|
|
DROP TABLE IF EXISTS `pmgr_groups`;
|
|
CREATE TABLE `pmgr_groups` (
|
|
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
-- REVISIT <AP>: 20090511
|
|
-- code may not be userful
|
|
`code` VARCHAR(12) NOT NULL, -- User style "id"
|
|
`name` VARCHAR(80) NOT NULL,
|
|
|
|
-- Lower ranks are given higher priority
|
|
`rank` SMALLINT UNSIGNED NOT NULL DEFAULT 100,
|
|
`comment` VARCHAR(255) DEFAULT NULL,
|
|
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
|
|
|
|
|
|
|
-- ----------------------------------------------------------------------
|
|
-- ----------------------------------------------------------------------
|
|
-- TABLE pmgr_users
|
|
|
|
DROP TABLE IF EXISTS `pmgr_users`;
|
|
CREATE TABLE `pmgr_users` (
|
|
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`code` VARCHAR(12) NOT NULL, -- User style "id"
|
|
|
|
-- Login details. Passwords are not yet used (and so NULL).
|
|
`login` VARCHAR(30) NOT NULL,
|
|
`salt` CHAR(12) DEFAULT NULL,
|
|
`passhash` VARCHAR(255) DEFAULT NULL,
|
|
|
|
-- Contact information for this user
|
|
`contact_id` INT(10) UNSIGNED NOT NULL,
|
|
|
|
-- Specific comments
|
|
`comment` VARCHAR(255) DEFAULT NULL,
|
|
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
|
|
|
|
|
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ##
|
|
-- ## OPTIONS
|
|
-- ##
|
|
|
|
|
|
-- ----------------------------------------------------------------------
|
|
-- ----------------------------------------------------------------------
|
|
-- TABLE pmgr_options
|
|
|
|
DROP TABLE IF EXISTS `pmgr_options`;
|
|
CREATE TABLE `pmgr_options` (
|
|
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`name` VARCHAR(50) NOT NULL,
|
|
`comment` VARCHAR(255) DEFAULT NULL,
|
|
UNIQUE KEY `name_key` (`name`),
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
|
|
|
|
|
-- ----------------------------------------------------------------------
|
|
-- ----------------------------------------------------------------------
|
|
-- TABLE pmgr_option_values
|
|
|
|
DROP TABLE IF EXISTS `pmgr_option_values`;
|
|
CREATE TABLE `pmgr_option_values` (
|
|
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`option_id` INT(10) UNSIGNED NOT NULL,
|
|
`value` VARCHAR(255) NOT NULL,
|
|
`comment` VARCHAR(255) DEFAULT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
|
|
|
|
|
-- ----------------------------------------------------------------------
|
|
-- ----------------------------------------------------------------------
|
|
-- TABLE pmgr_default_options
|
|
|
|
DROP TABLE IF EXISTS `pmgr_default_options`;
|
|
CREATE TABLE `pmgr_default_options` (
|
|
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`option_value_id` INT(10) UNSIGNED NOT NULL,
|
|
`comment` VARCHAR(255) DEFAULT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
|
|
|
|
|
-- ----------------------------------------------------------------------
|
|
-- ----------------------------------------------------------------------
|
|
-- TABLE pmgr_group_options
|
|
|
|
DROP TABLE IF EXISTS `pmgr_group_options`;
|
|
CREATE TABLE `pmgr_group_options` (
|
|
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`group_id` INT(10) UNSIGNED NOT NULL,
|
|
`option_value_id` INT(10) UNSIGNED NOT NULL,
|
|
`comment` VARCHAR(255) DEFAULT NULL,
|
|
KEY `group_key` (`group_id`),
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
|
|
|
|
|
-- ----------------------------------------------------------------------
|
|
-- ----------------------------------------------------------------------
|
|
-- TABLE pmgr_user_options
|
|
|
|
DROP TABLE IF EXISTS `pmgr_user_options`;
|
|
CREATE TABLE `pmgr_user_options` (
|
|
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`user_id` INT(10) UNSIGNED NOT NULL,
|
|
`option_value_id` INT(10) UNSIGNED NOT NULL,
|
|
`comment` VARCHAR(255) DEFAULT NULL,
|
|
KEY `user_key` (`user_id`),
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
|
|
|
|
|
-- ----------------------------------------------------------------------
|
|
-- ----------------------------------------------------------------------
|
|
-- TABLE pmgr_site_options
|
|
|
|
DROP TABLE IF EXISTS `pmgr_site_options`;
|
|
CREATE TABLE `pmgr_site_options` (
|
|
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`site_id` INT(10) UNSIGNED NOT NULL,
|
|
`option_value_id` INT(10) UNSIGNED NOT NULL,
|
|
`comment` VARCHAR(255) DEFAULT NULL,
|
|
KEY `site_key` (`site_id`),
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
|
|
|
|
|
|
|
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ##
|
|
-- ## PERMISSIONS
|
|
-- ##
|
|
|
|
-- ----------------------------------------------------------------------
|
|
-- ----------------------------------------------------------------------
|
|
-- TABLE pmgr_permissions
|
|
|
|
DROP TABLE IF EXISTS `pmgr_permissions`;
|
|
CREATE TABLE `pmgr_permissions` (
|
|
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`name` VARCHAR(50) NOT NULL,
|
|
`comment` VARCHAR(255) DEFAULT NULL,
|
|
UNIQUE KEY `name_key` (`name`),
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
|
|
|
|
|
-- ----------------------------------------------------------------------
|
|
-- ----------------------------------------------------------------------
|
|
-- TABLE pmgr_permission_values
|
|
|
|
DROP TABLE IF EXISTS `pmgr_permission_values`;
|
|
CREATE TABLE `pmgr_permission_values` (
|
|
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`permission_id` INT(10) UNSIGNED NOT NULL,
|
|
`access` ENUM('ALLOW',
|
|
'DENY')
|
|
NOT NULL DEFAULT 'DENY',
|
|
`level` SMALLINT UNSIGNED DEFAULT NULL,
|
|
`comment` VARCHAR(255) DEFAULT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
|
|
|
|
|
-- ----------------------------------------------------------------------
|
|
-- ----------------------------------------------------------------------
|
|
-- TABLE pmgr_default_permissions
|
|
|
|
DROP TABLE IF EXISTS `pmgr_default_permissions`;
|
|
CREATE TABLE `pmgr_default_permissions` (
|
|
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`permission_value_id` INT(10) UNSIGNED NOT NULL,
|
|
`comment` VARCHAR(255) DEFAULT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
|
|
|
|
|
-- ----------------------------------------------------------------------
|
|
-- ----------------------------------------------------------------------
|
|
-- TABLE pmgr_group_permissions
|
|
|
|
DROP TABLE IF EXISTS `pmgr_group_permissions`;
|
|
CREATE TABLE `pmgr_group_permissions` (
|
|
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`group_id` INT(10) UNSIGNED NOT NULL,
|
|
`permission_value_id` INT(10) UNSIGNED NOT NULL,
|
|
`comment` VARCHAR(255) DEFAULT NULL,
|
|
KEY `group_key` (`group_id`),
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
|
|
|
|
|
-- ----------------------------------------------------------------------
|
|
-- ----------------------------------------------------------------------
|
|
-- TABLE pmgr_user_permissions
|
|
|
|
DROP TABLE IF EXISTS `pmgr_user_permissions`;
|
|
CREATE TABLE `pmgr_user_permissions` (
|
|
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`user_id` INT(10) UNSIGNED NOT NULL,
|
|
`permission_value_id` INT(10) UNSIGNED NOT NULL,
|
|
`comment` VARCHAR(255) DEFAULT NULL,
|
|
KEY `user_key` (`user_id`),
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
|
|
|
|
|
-- ----------------------------------------------------------------------
|
|
-- ----------------------------------------------------------------------
|
|
-- TABLE pmgr_site_permissions
|
|
|
|
DROP TABLE IF EXISTS `pmgr_site_permissions`;
|
|
CREATE TABLE `pmgr_site_permissions` (
|
|
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`site_id` INT(10) UNSIGNED NOT NULL,
|
|
`permission_value_id` INT(10) UNSIGNED NOT NULL,
|
|
`comment` VARCHAR(255) DEFAULT NULL,
|
|
KEY `site_key` (`site_id`),
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
|
|
|
|
|
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ######################################################################
|
|
-- ##
|
|
-- ## MEMBERSHIPS
|
|
-- ##
|
|
|
|
DROP TABLE IF EXISTS `pmgr_site_memberships`;
|
|
|
|
-- ----------------------------------------------------------------------
|
|
-- ----------------------------------------------------------------------
|
|
-- TABLE pmgr_memberships
|
|
--
|
|
-- Which users are allowed to access which sites,
|
|
-- and under which set of group permissions (possibly multiple)
|
|
|
|
DROP TABLE IF EXISTS `pmgr_memberships`;
|
|
CREATE TABLE `pmgr_memberships` (
|
|
`site_id` INT(10) UNSIGNED NOT NULL,
|
|
`user_id` INT(10) UNSIGNED NOT NULL,
|
|
`group_id` INT(10) UNSIGNED NOT NULL,
|
|
`comment` VARCHAR(255) DEFAULT NULL,
|
|
|
|
PRIMARY KEY (`site_id`, `user_id`, `group_id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
|
|