mirror of
https://github.com/whyour/qinglong.git
synced 2026-09-21 01:32:44 +08:00
29 lines
983 B
TypeScript
29 lines
983 B
TypeScript
import { definePostgresSqlMigration } from './sqlMigration';
|
|
|
|
export const POSTGRESQL_SCHEMA_CAPABILITY_TABLE = 'schema_capabilities';
|
|
|
|
export const pg0001SchemaCapabilityMigration = definePostgresSqlMigration({
|
|
id: 'pg-0001-schema-capability',
|
|
statements: [
|
|
`
|
|
CREATE TABLE "ql3"."${POSTGRESQL_SCHEMA_CAPABILITY_TABLE}" (
|
|
contract_name varchar(64) PRIMARY KEY,
|
|
contract_version integer NOT NULL
|
|
CONSTRAINT ql3_schema_capabilities_version_check
|
|
CHECK (contract_version >= 0),
|
|
migration_id varchar(128) NOT NULL,
|
|
capabilities jsonb NOT NULL
|
|
CONSTRAINT ql3_schema_capabilities_payload_check
|
|
CHECK (jsonb_typeof(capabilities) = 'object'),
|
|
updated_at_ms bigint NOT NULL
|
|
CONSTRAINT ql3_schema_capabilities_updated_at_check
|
|
CHECK (updated_at_ms >= 0),
|
|
CONSTRAINT ql3_schema_capabilities_migration_fk
|
|
FOREIGN KEY (migration_id)
|
|
REFERENCES "ql3"."schema_migrations" (migration_id)
|
|
DEFERRABLE INITIALLY DEFERRED
|
|
)
|
|
`.trim(),
|
|
],
|
|
});
|