mirror of
https://github.com/goharbor/harbor.git
synced 2024-11-05 10:10:12 +01:00
4484bca756
1. Add operation property for tasks 2. Add trigger property for executions 3. Update the getting registry info API to allow passing 0 as ID to get the info of local Harbor registry Signed-off-by: Wenkai Yin <yinw@vmware.com>
106 lines
3.1 KiB
SQL
106 lines
3.1 KiB
SQL
/*add robot account table*/
|
|
CREATE TABLE robot (
|
|
id SERIAL PRIMARY KEY NOT NULL,
|
|
name varchar(255),
|
|
description varchar(1024),
|
|
project_id int,
|
|
expiresat bigint,
|
|
disabled boolean DEFAULT false NOT NULL,
|
|
creation_time timestamp default CURRENT_TIMESTAMP,
|
|
update_time timestamp default CURRENT_TIMESTAMP,
|
|
CONSTRAINT unique_robot UNIQUE (name, project_id)
|
|
);
|
|
|
|
CREATE TRIGGER robot_update_time_at_modtime BEFORE UPDATE ON robot FOR EACH ROW EXECUTE PROCEDURE update_update_time_at_column();
|
|
|
|
/*add master role*/
|
|
INSERT INTO role (role_code, name) VALUES ('DRWS', 'master');
|
|
|
|
/*delete replication jobs whose policy has been marked as "deleted"*/
|
|
DELETE FROM replication_job AS j
|
|
USING replication_policy AS p
|
|
WHERE j.policy_id = p.id AND p.deleted = TRUE;
|
|
|
|
/*delete replication policy which has been marked as "deleted"*/
|
|
DELETE FROM replication_policy AS p
|
|
WHERE p.deleted = TRUE;
|
|
|
|
CREATE TABLE registry (
|
|
id SERIAL PRIMARY KEY NOT NULL,
|
|
name varchar(256),
|
|
url varchar(256),
|
|
credential_type varchar(16),
|
|
access_key varchar(128),
|
|
access_secret varchar(1024),
|
|
type varchar(32),
|
|
insecure boolean,
|
|
description varchar(1024),
|
|
health varchar(16),
|
|
creation_time timestamp default CURRENT_TIMESTAMP,
|
|
update_time timestamp default CURRENT_TIMESTAMP,
|
|
CONSTRAINT unique_registry_name UNIQUE (name)
|
|
);
|
|
|
|
CREATE TABLE "replication_policy_ng" (
|
|
"id" SERIAL PRIMARY KEY NOT NULL,
|
|
"name" varchar(256),
|
|
"description" text,
|
|
"creator" varchar(256),
|
|
"src_registry_id" int4,
|
|
"src_namespaces" varchar(256),
|
|
"dest_registry_id" int4,
|
|
"dest_namespace" varchar(256),
|
|
"override" bool NOT NULL DEFAULT false,
|
|
"enabled" bool NOT NULL DEFAULT true,
|
|
"cron_str" varchar(256),
|
|
"filters" varchar(1024),
|
|
"replicate_deletion" bool NOT NULL DEFAULT false,
|
|
"start_time" timestamp(6),
|
|
"deleted" bool NOT NULL DEFAULT false,
|
|
"creation_time" timestamp(6) DEFAULT now(),
|
|
"update_time" timestamp(6) DEFAULT now(),
|
|
CONSTRAINT unique_policy_ng_name UNIQUE ("name")
|
|
);
|
|
|
|
create table replication_execution (
|
|
id SERIAL NOT NULL,
|
|
policy_id int NOT NULL,
|
|
status varchar(32),
|
|
status_text varchar(256),
|
|
total int NOT NULL DEFAULT 0,
|
|
failed int NOT NULL DEFAULT 0,
|
|
succeed int NOT NULL DEFAULT 0,
|
|
in_progress int NOT NULL DEFAULT 0,
|
|
stopped int NOT NULL DEFAULT 0,
|
|
trigger varchar(64),
|
|
start_time timestamp default CURRENT_TIMESTAMP,
|
|
end_time timestamp NULL,
|
|
PRIMARY KEY (id)
|
|
);
|
|
CREATE INDEX execution_policy ON replication_execution (policy_id);
|
|
|
|
create table replication_task (
|
|
id SERIAL NOT NULL,
|
|
execution_id int NOT NULL,
|
|
resource_type varchar(64),
|
|
src_resource varchar(256),
|
|
dst_resource varchar(256),
|
|
operation varchar(32),
|
|
job_id varchar(64),
|
|
status varchar(32),
|
|
start_time timestamp default CURRENT_TIMESTAMP,
|
|
end_time timestamp NULL,
|
|
PRIMARY KEY (id)
|
|
);
|
|
CREATE INDEX task_execution ON replication_task (execution_id);
|
|
|
|
create table replication_schedule_job (
|
|
id SERIAL NOT NULL,
|
|
policy_id int NOT NULL,
|
|
job_id varchar(64),
|
|
status varchar(32),
|
|
creation_time timestamp default CURRENT_TIMESTAMP,
|
|
update_time timestamp NULL,
|
|
PRIMARY KEY (id)
|
|
);
|
|
CREATE INDEX replication_schedule_job_index ON replication_schedule_job (policy_id); |