// SPDX-FileCopyrightText: Copyright Orangebot, Inc. and Medplum contributors
// SPDX-License-Identifier: Apache-2.0
/*
* Generated by @medplum/generator
* Do not edit manually.
*/
import type { PoolClient } from 'pg';
export async function run(client: PoolClient): Promise<void> {
await client.query(`CREATE TABLE IF NOT EXISTS "SubscriptionStatus" (
"id" UUID NOT NULL PRIMARY KEY,
"content" TEXT NOT NULL,
"lastUpdated" TIMESTAMPTZ NOT NULL,
"deleted" BOOLEAN NOT NULL DEFAULT FALSE,
"compartments" UUID[] NOT NULL,
"_source" TEXT,
"_tag" TEXT[],
"_profile" TEXT[]
)`);
await client.query(
'CREATE INDEX CONCURRENTLY IF NOT EXISTS SubscriptionStatus_lastUpdated_idx ON "SubscriptionStatus" ("lastUpdated")'
);
await client.query(
'CREATE INDEX CONCURRENTLY IF NOT EXISTS SubscriptionStatus_compartments_idx ON "SubscriptionStatus" USING gin ("compartments")'
);
await client.query(
'CREATE INDEX CONCURRENTLY IF NOT EXISTS SubscriptionStatus__source_idx ON "SubscriptionStatus" ("_source")'
);
await client.query(
'CREATE INDEX CONCURRENTLY IF NOT EXISTS SubscriptionStatus__tag_idx ON "SubscriptionStatus" USING gin ("_tag")'
);
await client.query(
'CREATE INDEX CONCURRENTLY IF NOT EXISTS SubscriptionStatus__profile_idx ON "SubscriptionStatus" USING gin ("_profile")'
);
await client.query(`CREATE TABLE IF NOT EXISTS "SubscriptionStatus_History" (
"versionId" UUID NOT NULL PRIMARY KEY,
"id" UUID NOT NULL,
"content" TEXT NOT NULL,
"lastUpdated" TIMESTAMPTZ NOT NULL
)`);
await client.query(
'CREATE INDEX CONCURRENTLY IF NOT EXISTS SubscriptionStatus_History_id_idx ON "SubscriptionStatus_History" ("id")'
);
await client.query(
'CREATE INDEX CONCURRENTLY IF NOT EXISTS SubscriptionStatus_History_lastUpdated_idx ON "SubscriptionStatus_History" ("lastUpdated")'
);
await client.query(`CREATE TABLE IF NOT EXISTS "SubscriptionStatus_Token" (
"resourceId" UUID NOT NULL,
"index" INTEGER NOT NULL,
"code" TEXT NOT NULL,
"system" TEXT,
"value" TEXT
)`);
await client.query(
'CREATE INDEX CONCURRENTLY IF NOT EXISTS SubscriptionStatus_Token_resourceId_idx ON "SubscriptionStatus_Token" ("resourceId")'
);
await client.query(
'CREATE INDEX CONCURRENTLY IF NOT EXISTS SubscriptionStatus_Token_code_idx ON "SubscriptionStatus_Token" ("code")'
);
await client.query(
'CREATE INDEX CONCURRENTLY IF NOT EXISTS SubscriptionStatus_Token_system_idx ON "SubscriptionStatus_Token" ("system")'
);
await client.query(
'CREATE INDEX CONCURRENTLY IF NOT EXISTS SubscriptionStatus_Token_value_idx ON "SubscriptionStatus_Token" ("value")'
);
}