eole-risotto/db/gen/create_tables.sql

149 lines
4.4 KiB
MySQL
Raw Normal View History

CREATE TABLE ProviderDeployment (
2020-04-03 11:46:15 +02:00
DeploymentId SERIAL PRIMARY KEY,
ProviderType VARCHAR(255) NOT NULL,
TargetType VARCHAR(255) NOT NULL,
TargetName VARCHAR(255) NOT NULL,
FactoryCluster VARCHAR(255),
FactoryNodeName VARCHAR(255),
CPU INTEGER,
VCPU INTEGER,
Memory INTEGER,
Labels VARCHAR(255) [] DEFAULT '{}',
UNIQUE (TargetType, TargetName)
);
CREATE INDEX Deployment_FactoryNodeName_index ON ProviderDeployment(FactoryNodeName);
2020-04-03 11:46:15 +02:00
CREATE TABLE ProviderFactoryCluster (
2020-04-03 11:46:15 +02:00
ClusterId SERIAL PRIMARY KEY,
ClusterName VARCHAR(255) NOT NULL UNIQUE,
ClusterDescription VARCHAR(255) NOT NULL,
VirtualIp VARCHAR(15) NOT NULL,
ZoneName VARCHAR(255) NOT NULL
);
CREATE TABLE ProviderFactoryClusterNode (
2020-04-03 11:46:15 +02:00
ClusterNodeId SERIAL PRIMARY KEY,
ClusterId INTEGER NOT NULL,
ServerName VARCHAR(255) NOT NULL UNIQUE,
FOREIGN KEY (ClusterId) REFERENCES ProviderFactoryCluster(ClusterId)
2020-04-03 11:46:15 +02:00
);
CREATE INDEX ProviderFactoryClusterNode_ServerName_index ON ProviderFactoryClusterNode(ServerName);
CREATE TABLE InfraSite (
2020-04-03 11:46:15 +02:00
SiteId SERIAL PRIMARY KEY,
SiteName VARCHAR(255) NOT NULL UNIQUE,
SiteDescription VARCHAR(255) NOT NULL
);
CREATE TABLE InfraZone (
2020-04-03 11:46:15 +02:00
ZoneId SERIAL PRIMARY KEY,
ZoneName VARCHAR(255) NOT NULL UNIQUE,
ZoneDescription VARCHAR(255) NOT NULL,
SitesName VARCHAR(255) [] NOT NULL
);
2020-08-19 11:37:15 +02:00
CREATE TABLE InfraServer(
2020-04-03 11:46:15 +02:00
ServerId SERIAL PRIMARY KEY,
ServerName VARCHAR(255) NOT NULL UNIQUE,
ServerDescription VARCHAR(255) NOT NULL,
2020-08-26 15:32:09 +02:00
ServermodelName VARCHAR(255) NOT NULL,
ServermodelReleaseDistribution VARCHAR(255) NOT NULL,
2020-04-03 11:46:15 +02:00
SiteName VARCHAR(255) NOT NULL,
ZonesName VARCHAR(255) [] NOT NULL,
ZonesIP VARCHAR(255) [] NOT NULL
);
CREATE TABLE SettingSource (
2020-04-03 11:46:15 +02:00
SourceId SERIAL PRIMARY KEY,
SourceName VARCHAR(255) NOT NULL UNIQUE,
2020-08-12 08:30:58 +02:00
SourceDirectory TEXT
2020-04-03 11:46:15 +02:00
);
CREATE TABLE SettingRelease (
2020-04-03 11:46:15 +02:00
ReleaseId SERIAL PRIMARY KEY,
ReleaseName VARCHAR(255) NOT NULL,
2020-08-26 15:32:09 +02:00
ReleaseSourceName VARCHAR(255) NOT NULL,
ReleaseDistribution VARCHAR(20) NOT NULL,
2020-08-26 15:32:09 +02:00
UNIQUE (ReleaseName, ReleaseSourceName),
UNIQUE (ReleaseDistribution, ReleaseSourceName)
2020-04-03 11:46:15 +02:00
);
2020-08-19 11:37:15 +02:00
CREATE TABLE SettingServer(
ServerId SERIAL PRIMARY KEY,
ServerName VARCHAR(255) NOT NULL UNIQUE,
ServermodelName VARCHAR(255) NOT NULL,
2020-08-26 15:32:09 +02:00
ReleaseName VARCHAR(255) NOT NULL
2020-08-19 11:37:15 +02:00
);
CREATE TABLE SettingServermodel (
2020-04-03 11:46:15 +02:00
ServermodelId SERIAL PRIMARY KEY,
ServermodelName VARCHAR(255) NOT NULL,
ServermodelDescription VARCHAR(255) NOT NULL,
ServermodelParents VARCHAR(255) [] DEFAULT '{}',
ReleaseDistribution VARCHAR(255) NOT NULL,
ReleaseName VARCHAR(255) NOT NULL,
2020-04-03 11:46:15 +02:00
ServermodelApplicationserviceId INTEGER NOT NULL,
OSName VARCHAR(255),
OSVersion VARCHAR(255),
UNIQUE (ServermodelName, ReleaseDistribution)
2020-04-03 11:46:15 +02:00
);
CREATE INDEX ServermodelApplicationserviceId_index ON SettingServermodel (ServermodelApplicationserviceId);
2020-04-03 11:46:15 +02:00
CREATE TABLE SettingApplicationservice (
2020-04-03 11:46:15 +02:00
ApplicationserviceId SERIAL PRIMARY KEY,
ApplicationserviceName VARCHAR(255) NOT NULL,
ApplicationserviceDescription VARCHAR(255) NOT NULL,
ReleaseDistribution VARCHAR(255) NOT NULL,
2020-08-26 15:32:09 +02:00
ReleaseName VARCHAR(255) NOT NULL,
SourceName VARCHAR(255) NOT NULL,
Compatibilities JSON,
OSName VARCHAR(255),
OSVersion VARCHAR(255),
UNIQUE (ApplicationserviceName, ReleaseDistribution)
2020-04-03 11:46:15 +02:00
);
CREATE TABLE SettingApplicationserviceDependency (
2020-04-03 11:46:15 +02:00
ApplicationserviceId INTEGER NOT NULL,
ApplicationserviceDependencyId INTEGER NOT NULL,
UNIQUE(ApplicationserviceId, ApplicationserviceDependencyId),
FOREIGN KEY (ApplicationserviceId) REFERENCES SettingApplicationservice(ApplicationserviceId),
FOREIGN KEY (ApplicationserviceDependencyId) REFERENCES SettingApplicationservice(ApplicationserviceId)
2020-04-03 11:46:15 +02:00
);
CREATE TABLE log(
Msg VARCHAR(255) NOT NULL,
Level VARCHAR(10) NOT NULL,
Path VARCHAR(255),
Username VARCHAR(100) NOT NULL,
Data JSON,
Date timestamp DEFAULT current_timestamp
);
CREATE TABLE UserUser (
2020-04-03 11:46:15 +02:00
UserId SERIAL PRIMARY KEY,
UserLogin VARCHAR(100) NOT NULL UNIQUE,
UserName VARCHAR(100) NOT NULL,
UserSurname VARCHAR(100) NOT NULL
);
CREATE TABLE UserRole (
RoleId SERIAL PRIMARY KEY,
RoleUserId INTEGER NOT NULL,
RoleName VARCHAR(255) NOT NULL,
RoleAttribute VARCHAR(255),
RoleAttributeValue VARCHAR(255),
FOREIGN KEY (RoleUserId) REFERENCES UserUser(UserId)
2020-04-03 11:46:15 +02:00
);
CREATE TABLE UserURI (
2020-04-03 11:46:15 +02:00
URIId SERIAL PRIMARY KEY,
URIName VARCHAR(255) NOT NULL UNIQUE
);
CREATE TABLE UserRoleURI (
2020-04-03 11:46:15 +02:00
RoleName VARCHAR(255) NOT NULL,
URIId INTEGER NOT NULL,
FOREIGN KEY (URIId) REFERENCES UserURI(URIId),
2020-04-03 11:46:15 +02:00
PRIMARY KEY (RoleName, URIId)
);