mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
163 lines
4.4 KiB
SQL
163 lines
4.4 KiB
SQL
-- Licensed to the Apache Software Foundation (ASF) under one
|
|
-- or more contributor license agreements. See the NOTICE file
|
|
-- distributed with this work for additional information
|
|
-- regarding copyright ownership. The ASF licenses this file
|
|
-- to you under the Apache License, Version 2.0 (the
|
|
-- "License"); you may not use this file except in compliance
|
|
-- with the License. You may obtain a copy of the License at
|
|
--
|
|
-- http://www.apache.org/licenses/LICENSE-2.0
|
|
--
|
|
-- Unless required by applicable law or agreed to in writing,
|
|
-- software distributed under the License is distributed on an
|
|
-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
-- KIND, either express or implied. See the License for the
|
|
-- specific language governing permissions and limitations
|
|
-- under the License.
|
|
|
|
|
|
USE cloudbridge;
|
|
|
|
SET foreign_key_checks = 0;
|
|
|
|
DROP TABLE IF EXISTS shost;
|
|
DROP TABLE IF EXISTS mhost;
|
|
DROP TABLE IF EXISTS mhost_mount;
|
|
DROP TABLE IF EXISTS sbucket;
|
|
DROP TABLE IF EXISTS sobject;
|
|
DROP TABLE IF EXISTS sobject_item;
|
|
DROP TABLE IF EXISTS meta;
|
|
DROP TABLE IF EXISTS acl;
|
|
DROP TABLE IF EXISTS usercredentials;
|
|
|
|
-- storage host
|
|
CREATE TABLE shost (
|
|
ID BIGINT NOT NULL AUTO_INCREMENT,
|
|
|
|
Host VARCHAR(128) NOT NULL,
|
|
HostType INT NOT NULL DEFAULT 0, -- 0 : local, 1 : nfs
|
|
ExportRoot VARCHAR(128) NOT NULL,
|
|
|
|
MHostID BIGINT, -- when host type is local, MHostID points to its owner management host
|
|
|
|
UserOnHost VARCHAR(64),
|
|
UserPassword VARCHAR(128),
|
|
PRIMARY KEY(ID)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
-- management host
|
|
CREATE TABLE mhost (
|
|
ID BIGINT NOT NULL AUTO_INCREMENT,
|
|
|
|
MHostKey VARCHAR(128) NOT NULL, -- host key could be derived from MAC address or named configuration value
|
|
Host VARCHAR(128), -- public host address for redirecting request from/to
|
|
|
|
Version VARCHAR(64),
|
|
LastHeartbeatTime DATETIME,
|
|
|
|
PRIMARY KEY(ID)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE mhost_mount (
|
|
ID BIGINT NOT NULL AUTO_INCREMENT,
|
|
MHostID BIGINT NOT NULL,
|
|
SHostID BIGINT NOT NULL,
|
|
|
|
MountPath VARCHAR(256), -- local mount path
|
|
LastMountTime DATETIME, -- null : unmounted, otherwise the mount location
|
|
|
|
PRIMARY KEY(ID)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE sbucket (
|
|
ID BIGINT NOT NULL AUTO_INCREMENT,
|
|
|
|
Name VARCHAR(64) NOT NULL,
|
|
OwnerCanonicalID VARCHAR(150) NOT NULL,
|
|
|
|
SHostID BIGINT,
|
|
|
|
CreateTime DATETIME,
|
|
|
|
VersioningStatus INT NOT NULL DEFAULT 0, -- 0 : initial not set, 1 : enabled, 2 : suspended
|
|
|
|
PRIMARY KEY(ID)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE sobject (
|
|
ID BIGINT NOT NULL AUTO_INCREMENT,
|
|
|
|
SBucketID BIGINT NOT NULL,
|
|
NameKey VARCHAR(255) NOT NULL,
|
|
|
|
OwnerCanonicalID VARCHAR(150) NOT NULL,
|
|
NextSequence INT NOT NULL DEFAULT 1,
|
|
DeletionMark VARCHAR (150),
|
|
|
|
CreateTime DATETIME,
|
|
|
|
PRIMARY KEY(ID)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE sobject_item (
|
|
ID BIGINT NOT NULL AUTO_INCREMENT,
|
|
|
|
SObjectID BIGINT NOT NULL,
|
|
Version VARCHAR(64),
|
|
|
|
MD5 VARCHAR(128),
|
|
StoredPath VARCHAR(256), -- relative to mount point of the root
|
|
StoredSize BIGINT NOT NULL DEFAULT 0,
|
|
|
|
CreateTime DATETIME,
|
|
LastModifiedTime DATETIME,
|
|
LastAccessTime DATETIME,
|
|
|
|
PRIMARY KEY(ID)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE meta (
|
|
ID BIGINT NOT NULL AUTO_INCREMENT,
|
|
|
|
Target VARCHAR(64) NOT NULL,
|
|
TargetID BIGINT NOT NULL,
|
|
|
|
Name VARCHAR(64) NOT NULL,
|
|
Value VARCHAR(256),
|
|
|
|
PRIMARY KEY(ID)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE acl (
|
|
ID BIGINT NOT NULL AUTO_INCREMENT,
|
|
|
|
Target VARCHAR(64) NOT NULL,
|
|
TargetID BIGINT NOT NULL,
|
|
|
|
GranteeType INT NOT NULL DEFAULT 0, -- 0 : Cloud service user, 1 : Cloud user community, 2: Public user community
|
|
GranteeCanonicalID VARCHAR(150), -- make it big enought to hold a Cloud API access key
|
|
|
|
Permission INT NOT NULL DEFAULT 0, -- 0 : no permission, 1 : read, 2 : write, 4 : read_acl, 8 : write_acl
|
|
GrantOrder INT NOT NULL DEFAULT 0,
|
|
|
|
CreateTime DATETIME,
|
|
LastModifiedTime DATETIME,
|
|
|
|
PRIMARY KEY(ID)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
-- each account has to have a separate <AccessKey,SecretKey>
|
|
-- each account has to have a separate <CertUniqueID,AccessKey> mappings
|
|
CREATE TABLE usercredentials (
|
|
ID BIGINT NOT NULL AUTO_INCREMENT,
|
|
|
|
AccessKey VARCHAR(150) NOT NULL,
|
|
SecretKey VARCHAR(150) NOT NULL,
|
|
CertUniqueId VARCHAR(200),
|
|
|
|
PRIMARY KEY(ID)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
SET foreign_key_checks = 1;
|
|
|