diff --git a/pkg/datastore/mysql/ensurer/indexes.sql b/pkg/datastore/mysql/ensurer/indexes.sql index e229d719ba..f4d24fba4d 100644 --- a/pkg/datastore/mysql/ensurer/indexes.sql +++ b/pkg/datastore/mysql/ensurer/indexes.sql @@ -94,3 +94,10 @@ CREATE INDEX event_key_name_project_id_created_at_desc ON Event (EventKey, Name, -- index on `ProjectId` ASC and `EnvIds` ASC ALTER TABLE Piped ADD COLUMN EnvIds JSON GENERATED ALWAYS AS (IFNULL(data ->> "$.env_ids", '[]')) VIRTUAL NOT NULL; CREATE INDEX piped_project_id_env_ids_asc ON Piped (ProjectId, (CAST(EnvIds AS CHAR(36) ARRAY))); + +-- +-- DeploymentChain table indexes +-- + +-- index on `ProjectId` ASC and `UpdatedAt` DESC +CREATE INDEX deploymentchain_project_id_updated_at_desc ON DeploymentChain (ProjectId, UpdatedAt DESC); diff --git a/pkg/datastore/mysql/ensurer/schema.sql b/pkg/datastore/mysql/ensurer/schema.sql index 04c7a7d04a..599e01c0bd 100644 --- a/pkg/datastore/mysql/ensurer/schema.sql +++ b/pkg/datastore/mysql/ensurer/schema.sql @@ -103,3 +103,16 @@ CREATE TABLE IF NOT EXISTS Event ( CreatedAt INT(11) GENERATED ALWAYS AS (data->>"$.created_at") STORED NOT NULL, UpdatedAt INT(11) GENERATED ALWAYS AS (data->>"$.updated_at") STORED NOT NULL ) ENGINE=InnoDB; + +-- +-- DeploymentChain table +-- + +CREATE TABLE IF NOT EXISTS DeploymentChain ( + Id BINARY(16) PRIMARY KEY, + Data JSON NOT NULL, + ProjectId VARCHAR(50) GENERATED ALWAYS AS (data->>"$.project_id") STORED NOT NULL, + Extra VARCHAR(100) GENERATED ALWAYS AS (data->>"$._extra") STORED, + CreatedAt INT(11) GENERATED ALWAYS AS (data->>"$.created_at") STORED NOT NULL, + UpdatedAt INT(11) GENERATED ALWAYS AS (data->>"$.updated_at") STORED NOT NULL +) ENGINE=InnoDB;