ranger/orm/services/customer_manager/scripts/db_scripts/ranger_cms_create_db.sql

97 lines
2.8 KiB
SQL
Executable File

SET sql_notes=0;
use orm;
create table if not exists cms_role
(
id integer auto_increment not null,
name varchar(64) not null,
primary key (id));
create table if not exists cms_user
(
id integer auto_increment not null,
name varchar(64) not null,
primary key (id),
unique name_idx (name));
create table if not exists cms_region
(
id integer auto_increment not null,
name varchar(64) not null,
type varchar(64) not null DEFAULT 'single',
primary key (id),
unique name_idx (name));
create table if not exists customer
(
id integer auto_increment not null,
uuid varchar(64) not null,
name varchar(64) not null,
description varchar(255) not null,
enabled tinyint not null,
primary key (id),
unique uuid_idx (uuid),
unique name_idx(name));
create table if not exists customer_metadata
(
customer_id integer not null,
field_key varchar(64) not null,
field_value varchar(64) not null,
primary key (customer_id, field_key),
foreign key (customer_id) references customer(id) ON DELETE CASCADE
);
create table if not exists customer_region
(
customer_id integer not null,
region_id integer not null,
primary key (customer_id,region_id),
index region_id (region_id),
foreign key (customer_id) REFERENCES `customer` (`id`) ON DELETE CASCADE,
foreign key (region_id) REFERENCES `cms_region` (`id`));
create table if not exists quota
(
id integer auto_increment not null,
customer_id integer not null,
region_id integer not null,
quota_type varchar(64) not null,
foreign key (region_id) references cms_region(id),
primary key (id),
unique quota_type (customer_id,region_id,quota_type),
foreign key (`customer_id`, `region_id`) REFERENCES `customer_region` (`customer_id`, `region_id`) ON DELETE CASCADE ON UPDATE NO ACTION
);
create table if not exists quota_field_detail
(
id integer auto_increment not null,
quota_id integer not null,
field_key varchar(64) not null,
field_value varchar(64) not null,
primary key (id),
foreign key (quota_id) references quota(id) ON DELETE CASCADE,
unique key_idx (quota_id,field_key));
create table if not exists user_role
(
customer_id integer not null,
region_id integer not null,
user_id integer not null,
role_id integer not null,
primary key (customer_id,region_id,user_id,role_id),
foreign key (customer_id, region_id) REFERENCES customer_region (`customer_id`, `region_id`) ON DELETE CASCADE,
foreign key (customer_id) references customer(id) ON DELETE CASCADE,
foreign key (region_id) references cms_region(id),
foreign key (user_id) references cms_user(id),
foreign key (role_id) references cms_role(id),
index region_id (region_id),
index user_id (user_id));
create or replace view rds_resource_status_view AS
(
SELECT id, resource_id, region, status,
err_code, operation from resource_status);