cabal-version: 3.0
name: keiro-migrations
version: 0.2.0.0
synopsis: Schema migrations for keiro
description:
Embedded PostgreSQL schema migrations and a migration runner for the Keiro
event-sourcing framework.
license: BSD-3-Clause
author: Nadeem Bitar
maintainer: nadeem@gmail.com
copyright: 2026 Nadeem Bitar
category: Database
build-type: Simple
tested-with: GHC >=9.12 && <9.13
extra-doc-files:
CHANGELOG.md
README.md
extra-source-files:
expected-schema/v18/db-settings
expected-schema/v18/roles/keiro
expected-schema/v18/schemas/keiro/objrep
expected-schema/v18/schemas/keiro/tables/keiro_awakeables/cols/awakeable_id
expected-schema/v18/schemas/keiro/tables/keiro_awakeables/cols/completed_at
expected-schema/v18/schemas/keiro/tables/keiro_awakeables/cols/created_at
expected-schema/v18/schemas/keiro/tables/keiro_awakeables/cols/owner_workflow_id
expected-schema/v18/schemas/keiro/tables/keiro_awakeables/cols/owner_workflow_name
expected-schema/v18/schemas/keiro/tables/keiro_awakeables/cols/payload
expected-schema/v18/schemas/keiro/tables/keiro_awakeables/cols/status
expected-schema/v18/schemas/keiro/tables/keiro_awakeables/cols/updated_at
expected-schema/v18/schemas/keiro/tables/keiro_awakeables/constraints/keiro_awakeables_awakeable_id_not_null
expected-schema/v18/schemas/keiro/tables/keiro_awakeables/constraints/keiro_awakeables_created_at_not_null
expected-schema/v18/schemas/keiro/tables/keiro_awakeables/constraints/keiro_awakeables_owner_workflow_id_not_null
expected-schema/v18/schemas/keiro/tables/keiro_awakeables/constraints/keiro_awakeables_owner_workflow_name_not_null
expected-schema/v18/schemas/keiro/tables/keiro_awakeables/constraints/keiro_awakeables_pkey
expected-schema/v18/schemas/keiro/tables/keiro_awakeables/constraints/keiro_awakeables_status_chk
expected-schema/v18/schemas/keiro/tables/keiro_awakeables/constraints/keiro_awakeables_status_not_null
expected-schema/v18/schemas/keiro/tables/keiro_awakeables/constraints/keiro_awakeables_updated_at_not_null
expected-schema/v18/schemas/keiro/tables/keiro_awakeables/indexes/keiro_awakeables_owner_idx
expected-schema/v18/schemas/keiro/tables/keiro_awakeables/indexes/keiro_awakeables_pending_idx
expected-schema/v18/schemas/keiro/tables/keiro_awakeables/indexes/keiro_awakeables_pkey
expected-schema/v18/schemas/keiro/tables/keiro_awakeables/objrep
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/attempt_count
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/attributes
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/causation_id
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/completed_at
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/content_type
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/correlation_id
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/dedupe_key
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/destination
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/event_type
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/failed_at
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/kafka_offset
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/kafka_partition
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/kafka_topic
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/last_error
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/message_id
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/occurred_at
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/payload_bytes
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/received_at
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/schema_fingerprint
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/schema_id
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/schema_registry
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/schema_subject
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/schema_version
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/schema_version_ref
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/source
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/source_event_id
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/source_global_position
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/status
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/traceparent
expected-schema/v18/schemas/keiro/tables/keiro_inbox/cols/tracestate
expected-schema/v18/schemas/keiro/tables/keiro_inbox/constraints/keiro_inbox_attempt_count_not_null
expected-schema/v18/schemas/keiro/tables/keiro_inbox/constraints/keiro_inbox_content_type_not_null
expected-schema/v18/schemas/keiro/tables/keiro_inbox/constraints/keiro_inbox_dedupe_key_not_null
expected-schema/v18/schemas/keiro/tables/keiro_inbox/constraints/keiro_inbox_payload_bytes_not_null
expected-schema/v18/schemas/keiro/tables/keiro_inbox/constraints/keiro_inbox_pkey
expected-schema/v18/schemas/keiro/tables/keiro_inbox/constraints/keiro_inbox_received_at_not_null
expected-schema/v18/schemas/keiro/tables/keiro_inbox/constraints/keiro_inbox_source_not_null
expected-schema/v18/schemas/keiro/tables/keiro_inbox/constraints/keiro_inbox_status_not_null
expected-schema/v18/schemas/keiro/tables/keiro_inbox/indexes/keiro_inbox_backlog_idx
expected-schema/v18/schemas/keiro/tables/keiro_inbox/indexes/keiro_inbox_completed_idx
expected-schema/v18/schemas/keiro/tables/keiro_inbox/indexes/keiro_inbox_pkey
expected-schema/v18/schemas/keiro/tables/keiro_inbox/objrep
expected-schema/v18/schemas/keiro/tables/keiro_outbox/cols/attempt_count
expected-schema/v18/schemas/keiro/tables/keiro_outbox/cols/attributes
expected-schema/v18/schemas/keiro/tables/keiro_outbox/cols/causation_id
expected-schema/v18/schemas/keiro/tables/keiro_outbox/cols/content_type
expected-schema/v18/schemas/keiro/tables/keiro_outbox/cols/correlation_id
expected-schema/v18/schemas/keiro/tables/keiro_outbox/cols/created_at
expected-schema/v18/schemas/keiro/tables/keiro_outbox/cols/destination
expected-schema/v18/schemas/keiro/tables/keiro_outbox/cols/event_type
expected-schema/v18/schemas/keiro/tables/keiro_outbox/cols/last_error
expected-schema/v18/schemas/keiro/tables/keiro_outbox/cols/message_id
expected-schema/v18/schemas/keiro/tables/keiro_outbox/cols/message_key
expected-schema/v18/schemas/keiro/tables/keiro_outbox/cols/next_attempt_at
expected-schema/v18/schemas/keiro/tables/keiro_outbox/cols/occurred_at
expected-schema/v18/schemas/keiro/tables/keiro_outbox/cols/outbox_id
expected-schema/v18/schemas/keiro/tables/keiro_outbox/cols/payload_bytes
expected-schema/v18/schemas/keiro/tables/keiro_outbox/cols/published_at
expected-schema/v18/schemas/keiro/tables/keiro_outbox/cols/schema_fingerprint
expected-schema/v18/schemas/keiro/tables/keiro_outbox/cols/schema_id
expected-schema/v18/schemas/keiro/tables/keiro_outbox/cols/schema_registry
expected-schema/v18/schemas/keiro/tables/keiro_outbox/cols/schema_subject
expected-schema/v18/schemas/keiro/tables/keiro_outbox/cols/schema_version
expected-schema/v18/schemas/keiro/tables/keiro_outbox/cols/schema_version_ref
expected-schema/v18/schemas/keiro/tables/keiro_outbox/cols/source
expected-schema/v18/schemas/keiro/tables/keiro_outbox/cols/source_event_id
expected-schema/v18/schemas/keiro/tables/keiro_outbox/cols/source_global_position
expected-schema/v18/schemas/keiro/tables/keiro_outbox/cols/status
expected-schema/v18/schemas/keiro/tables/keiro_outbox/cols/traceparent
expected-schema/v18/schemas/keiro/tables/keiro_outbox/cols/tracestate
expected-schema/v18/schemas/keiro/tables/keiro_outbox/cols/updated_at
expected-schema/v18/schemas/keiro/tables/keiro_outbox/constraints/keiro_outbox_attempt_count_not_null
expected-schema/v18/schemas/keiro/tables/keiro_outbox/constraints/keiro_outbox_content_type_not_null
expected-schema/v18/schemas/keiro/tables/keiro_outbox/constraints/keiro_outbox_created_at_not_null
expected-schema/v18/schemas/keiro/tables/keiro_outbox/constraints/keiro_outbox_destination_not_null
expected-schema/v18/schemas/keiro/tables/keiro_outbox/constraints/keiro_outbox_event_type_not_null
expected-schema/v18/schemas/keiro/tables/keiro_outbox/constraints/keiro_outbox_message_id_not_null
expected-schema/v18/schemas/keiro/tables/keiro_outbox/constraints/keiro_outbox_next_attempt_at_not_null
expected-schema/v18/schemas/keiro/tables/keiro_outbox/constraints/keiro_outbox_occurred_at_not_null
expected-schema/v18/schemas/keiro/tables/keiro_outbox/constraints/keiro_outbox_outbox_id_not_null
expected-schema/v18/schemas/keiro/tables/keiro_outbox/constraints/keiro_outbox_payload_bytes_not_null
expected-schema/v18/schemas/keiro/tables/keiro_outbox/constraints/keiro_outbox_pkey
expected-schema/v18/schemas/keiro/tables/keiro_outbox/constraints/keiro_outbox_schema_version_not_null
expected-schema/v18/schemas/keiro/tables/keiro_outbox/constraints/keiro_outbox_source_message_id_key
expected-schema/v18/schemas/keiro/tables/keiro_outbox/constraints/keiro_outbox_source_not_null
expected-schema/v18/schemas/keiro/tables/keiro_outbox/constraints/keiro_outbox_status_not_null
expected-schema/v18/schemas/keiro/tables/keiro_outbox/constraints/keiro_outbox_updated_at_not_null
expected-schema/v18/schemas/keiro/tables/keiro_outbox/indexes/keiro_outbox_claim_order_idx
expected-schema/v18/schemas/keiro/tables/keiro_outbox/indexes/keiro_outbox_head_of_line_idx
expected-schema/v18/schemas/keiro/tables/keiro_outbox/indexes/keiro_outbox_pending_idx
expected-schema/v18/schemas/keiro/tables/keiro_outbox/indexes/keiro_outbox_pkey
expected-schema/v18/schemas/keiro/tables/keiro_outbox/indexes/keiro_outbox_sent_gc_idx
expected-schema/v18/schemas/keiro/tables/keiro_outbox/indexes/keiro_outbox_source_message_id_key
expected-schema/v18/schemas/keiro/tables/keiro_outbox/indexes/keiro_outbox_source_order_idx
expected-schema/v18/schemas/keiro/tables/keiro_outbox/objrep
expected-schema/v18/schemas/keiro/tables/keiro_projection_dedup/cols/applied_at
expected-schema/v18/schemas/keiro/tables/keiro_projection_dedup/cols/event_id
expected-schema/v18/schemas/keiro/tables/keiro_projection_dedup/cols/projection_name
expected-schema/v18/schemas/keiro/tables/keiro_projection_dedup/constraints/keiro_projection_dedup_applied_at_not_null
expected-schema/v18/schemas/keiro/tables/keiro_projection_dedup/constraints/keiro_projection_dedup_event_id_not_null
expected-schema/v18/schemas/keiro/tables/keiro_projection_dedup/constraints/keiro_projection_dedup_pkey
expected-schema/v18/schemas/keiro/tables/keiro_projection_dedup/constraints/keiro_projection_dedup_projection_name_not_null
expected-schema/v18/schemas/keiro/tables/keiro_projection_dedup/indexes/keiro_projection_dedup_applied_at_idx
expected-schema/v18/schemas/keiro/tables/keiro_projection_dedup/indexes/keiro_projection_dedup_pkey
expected-schema/v18/schemas/keiro/tables/keiro_projection_dedup/objrep
expected-schema/v18/schemas/keiro/tables/keiro_read_models/cols/last_built_at
expected-schema/v18/schemas/keiro/tables/keiro_read_models/cols/name
expected-schema/v18/schemas/keiro/tables/keiro_read_models/cols/shape_hash
expected-schema/v18/schemas/keiro/tables/keiro_read_models/cols/status
expected-schema/v18/schemas/keiro/tables/keiro_read_models/cols/updated_at
expected-schema/v18/schemas/keiro/tables/keiro_read_models/cols/version
expected-schema/v18/schemas/keiro/tables/keiro_read_models/constraints/keiro_read_models_name_not_null
expected-schema/v18/schemas/keiro/tables/keiro_read_models/constraints/keiro_read_models_pkey
expected-schema/v18/schemas/keiro/tables/keiro_read_models/constraints/keiro_read_models_shape_hash_not_null
expected-schema/v18/schemas/keiro/tables/keiro_read_models/constraints/keiro_read_models_status_not_null
expected-schema/v18/schemas/keiro/tables/keiro_read_models/constraints/keiro_read_models_updated_at_not_null
expected-schema/v18/schemas/keiro/tables/keiro_read_models/constraints/keiro_read_models_version_not_null
expected-schema/v18/schemas/keiro/tables/keiro_read_models/indexes/keiro_read_models_pkey
expected-schema/v18/schemas/keiro/tables/keiro_read_models/objrep
expected-schema/v18/schemas/keiro/tables/keiro_snapshots/cols/created_at
expected-schema/v18/schemas/keiro/tables/keiro_snapshots/cols/regfile_shape_hash
expected-schema/v18/schemas/keiro/tables/keiro_snapshots/cols/state
expected-schema/v18/schemas/keiro/tables/keiro_snapshots/cols/state_codec_version
expected-schema/v18/schemas/keiro/tables/keiro_snapshots/cols/stream_id
expected-schema/v18/schemas/keiro/tables/keiro_snapshots/cols/stream_version
expected-schema/v18/schemas/keiro/tables/keiro_snapshots/cols/updated_at
expected-schema/v18/schemas/keiro/tables/keiro_snapshots/constraints/keiro_snapshots_created_at_not_null
expected-schema/v18/schemas/keiro/tables/keiro_snapshots/constraints/keiro_snapshots_pkey
expected-schema/v18/schemas/keiro/tables/keiro_snapshots/constraints/keiro_snapshots_regfile_shape_hash_not_null
expected-schema/v18/schemas/keiro/tables/keiro_snapshots/constraints/keiro_snapshots_state_codec_version_not_null
expected-schema/v18/schemas/keiro/tables/keiro_snapshots/constraints/keiro_snapshots_state_not_null
expected-schema/v18/schemas/keiro/tables/keiro_snapshots/constraints/keiro_snapshots_stream_id_not_null
expected-schema/v18/schemas/keiro/tables/keiro_snapshots/constraints/keiro_snapshots_stream_version_not_null
expected-schema/v18/schemas/keiro/tables/keiro_snapshots/constraints/keiro_snapshots_updated_at_not_null
expected-schema/v18/schemas/keiro/tables/keiro_snapshots/indexes/keiro_snapshots_compat_idx
expected-schema/v18/schemas/keiro/tables/keiro_snapshots/indexes/keiro_snapshots_pkey
expected-schema/v18/schemas/keiro/tables/keiro_snapshots/objrep
expected-schema/v18/schemas/keiro/tables/keiro_subscription_shards/cols/bucket
expected-schema/v18/schemas/keiro/tables/keiro_subscription_shards/cols/heartbeat_at
expected-schema/v18/schemas/keiro/tables/keiro_subscription_shards/cols/lease_expires_at
expected-schema/v18/schemas/keiro/tables/keiro_subscription_shards/cols/owner_worker_id
expected-schema/v18/schemas/keiro/tables/keiro_subscription_shards/cols/shard_count
expected-schema/v18/schemas/keiro/tables/keiro_subscription_shards/cols/subscription_name
expected-schema/v18/schemas/keiro/tables/keiro_subscription_shards/cols/updated_at
expected-schema/v18/schemas/keiro/tables/keiro_subscription_shards/constraints/keiro_subscription_shards_bucket_not_null
expected-schema/v18/schemas/keiro/tables/keiro_subscription_shards/constraints/keiro_subscription_shards_bucket_range_chk
expected-schema/v18/schemas/keiro/tables/keiro_subscription_shards/constraints/keiro_subscription_shards_count_chk
expected-schema/v18/schemas/keiro/tables/keiro_subscription_shards/constraints/keiro_subscription_shards_pkey
expected-schema/v18/schemas/keiro/tables/keiro_subscription_shards/constraints/keiro_subscription_shards_shard_count_not_null
expected-schema/v18/schemas/keiro/tables/keiro_subscription_shards/constraints/keiro_subscription_shards_subscription_name_not_null
expected-schema/v18/schemas/keiro/tables/keiro_subscription_shards/constraints/keiro_subscription_shards_updated_at_not_null
expected-schema/v18/schemas/keiro/tables/keiro_subscription_shards/indexes/keiro_subscription_shards_lease_idx
expected-schema/v18/schemas/keiro/tables/keiro_subscription_shards/indexes/keiro_subscription_shards_owner_idx
expected-schema/v18/schemas/keiro/tables/keiro_subscription_shards/indexes/keiro_subscription_shards_pkey
expected-schema/v18/schemas/keiro/tables/keiro_subscription_shards/objrep
expected-schema/v18/schemas/keiro/tables/keiro_timers/cols/attempts
expected-schema/v18/schemas/keiro/tables/keiro_timers/cols/correlation_id
expected-schema/v18/schemas/keiro/tables/keiro_timers/cols/created_at
expected-schema/v18/schemas/keiro/tables/keiro_timers/cols/fire_at
expected-schema/v18/schemas/keiro/tables/keiro_timers/cols/fired_event_id
expected-schema/v18/schemas/keiro/tables/keiro_timers/cols/last_error
expected-schema/v18/schemas/keiro/tables/keiro_timers/cols/payload
expected-schema/v18/schemas/keiro/tables/keiro_timers/cols/process_manager_name
expected-schema/v18/schemas/keiro/tables/keiro_timers/cols/status
expected-schema/v18/schemas/keiro/tables/keiro_timers/cols/timer_id
expected-schema/v18/schemas/keiro/tables/keiro_timers/cols/updated_at
expected-schema/v18/schemas/keiro/tables/keiro_timers/constraints/keiro_timers_attempts_not_null
expected-schema/v18/schemas/keiro/tables/keiro_timers/constraints/keiro_timers_correlation_id_not_null
expected-schema/v18/schemas/keiro/tables/keiro_timers/constraints/keiro_timers_created_at_not_null
expected-schema/v18/schemas/keiro/tables/keiro_timers/constraints/keiro_timers_fire_at_not_null
expected-schema/v18/schemas/keiro/tables/keiro_timers/constraints/keiro_timers_payload_not_null
expected-schema/v18/schemas/keiro/tables/keiro_timers/constraints/keiro_timers_pkey
expected-schema/v18/schemas/keiro/tables/keiro_timers/constraints/keiro_timers_process_manager_name_not_null
expected-schema/v18/schemas/keiro/tables/keiro_timers/constraints/keiro_timers_status_not_null
expected-schema/v18/schemas/keiro/tables/keiro_timers/constraints/keiro_timers_timer_id_not_null
expected-schema/v18/schemas/keiro/tables/keiro_timers/constraints/keiro_timers_updated_at_not_null
expected-schema/v18/schemas/keiro/tables/keiro_timers/indexes/keiro_timers_due_idx
expected-schema/v18/schemas/keiro/tables/keiro_timers/indexes/keiro_timers_pkey
expected-schema/v18/schemas/keiro/tables/keiro_timers/objrep
expected-schema/v18/schemas/keiro/tables/keiro_workflow_children/cols/await_step
expected-schema/v18/schemas/keiro/tables/keiro_workflow_children/cols/child_id
expected-schema/v18/schemas/keiro/tables/keiro_workflow_children/cols/child_name
expected-schema/v18/schemas/keiro/tables/keiro_workflow_children/cols/completed_at
expected-schema/v18/schemas/keiro/tables/keiro_workflow_children/cols/created_at
expected-schema/v18/schemas/keiro/tables/keiro_workflow_children/cols/parent_id
expected-schema/v18/schemas/keiro/tables/keiro_workflow_children/cols/parent_name
expected-schema/v18/schemas/keiro/tables/keiro_workflow_children/cols/result
expected-schema/v18/schemas/keiro/tables/keiro_workflow_children/cols/status
expected-schema/v18/schemas/keiro/tables/keiro_workflow_children/cols/updated_at
expected-schema/v18/schemas/keiro/tables/keiro_workflow_children/constraints/keiro_workflow_children_await_step_not_null
expected-schema/v18/schemas/keiro/tables/keiro_workflow_children/constraints/keiro_workflow_children_child_id_not_null
expected-schema/v18/schemas/keiro/tables/keiro_workflow_children/constraints/keiro_workflow_children_child_name_not_null
expected-schema/v18/schemas/keiro/tables/keiro_workflow_children/constraints/keiro_workflow_children_created_at_not_null
expected-schema/v18/schemas/keiro/tables/keiro_workflow_children/constraints/keiro_workflow_children_parent_id_not_null
expected-schema/v18/schemas/keiro/tables/keiro_workflow_children/constraints/keiro_workflow_children_parent_name_not_null
expected-schema/v18/schemas/keiro/tables/keiro_workflow_children/constraints/keiro_workflow_children_pkey
expected-schema/v18/schemas/keiro/tables/keiro_workflow_children/constraints/keiro_workflow_children_status_chk
expected-schema/v18/schemas/keiro/tables/keiro_workflow_children/constraints/keiro_workflow_children_status_not_null
expected-schema/v18/schemas/keiro/tables/keiro_workflow_children/constraints/keiro_workflow_children_updated_at_not_null
expected-schema/v18/schemas/keiro/tables/keiro_workflow_children/indexes/keiro_workflow_children_parent_idx
expected-schema/v18/schemas/keiro/tables/keiro_workflow_children/indexes/keiro_workflow_children_pkey
expected-schema/v18/schemas/keiro/tables/keiro_workflow_children/indexes/keiro_workflow_children_running_idx
expected-schema/v18/schemas/keiro/tables/keiro_workflow_children/objrep
expected-schema/v18/schemas/keiro/tables/keiro_workflow_steps/cols/generation
expected-schema/v18/schemas/keiro/tables/keiro_workflow_steps/cols/recorded_at
expected-schema/v18/schemas/keiro/tables/keiro_workflow_steps/cols/result
expected-schema/v18/schemas/keiro/tables/keiro_workflow_steps/cols/step_name
expected-schema/v18/schemas/keiro/tables/keiro_workflow_steps/cols/workflow_id
expected-schema/v18/schemas/keiro/tables/keiro_workflow_steps/cols/workflow_name
expected-schema/v18/schemas/keiro/tables/keiro_workflow_steps/constraints/keiro_workflow_steps_generation_not_null
expected-schema/v18/schemas/keiro/tables/keiro_workflow_steps/constraints/keiro_workflow_steps_pkey
expected-schema/v18/schemas/keiro/tables/keiro_workflow_steps/constraints/keiro_workflow_steps_recorded_at_not_null
expected-schema/v18/schemas/keiro/tables/keiro_workflow_steps/constraints/keiro_workflow_steps_result_not_null
expected-schema/v18/schemas/keiro/tables/keiro_workflow_steps/constraints/keiro_workflow_steps_step_name_not_null
expected-schema/v18/schemas/keiro/tables/keiro_workflow_steps/constraints/keiro_workflow_steps_workflow_id_not_null
expected-schema/v18/schemas/keiro/tables/keiro_workflow_steps/constraints/keiro_workflow_steps_workflow_name_not_null
expected-schema/v18/schemas/keiro/tables/keiro_workflow_steps/indexes/keiro_workflow_steps_pkey
expected-schema/v18/schemas/keiro/tables/keiro_workflow_steps/indexes/keiro_workflow_steps_workflow_idx
expected-schema/v18/schemas/keiro/tables/keiro_workflow_steps/objrep
expected-schema/v18/schemas/keiro/tables/keiro_workflows/cols/attempts
expected-schema/v18/schemas/keiro/tables/keiro_workflows/cols/completed_at
expected-schema/v18/schemas/keiro/tables/keiro_workflows/cols/created_at
expected-schema/v18/schemas/keiro/tables/keiro_workflows/cols/generation
expected-schema/v18/schemas/keiro/tables/keiro_workflows/cols/last_error
expected-schema/v18/schemas/keiro/tables/keiro_workflows/cols/lease_expires_at
expected-schema/v18/schemas/keiro/tables/keiro_workflows/cols/leased_by
expected-schema/v18/schemas/keiro/tables/keiro_workflows/cols/next_attempt_at
expected-schema/v18/schemas/keiro/tables/keiro_workflows/cols/status
expected-schema/v18/schemas/keiro/tables/keiro_workflows/cols/updated_at
expected-schema/v18/schemas/keiro/tables/keiro_workflows/cols/wake_after
expected-schema/v18/schemas/keiro/tables/keiro_workflows/cols/workflow_id
expected-schema/v18/schemas/keiro/tables/keiro_workflows/cols/workflow_name
expected-schema/v18/schemas/keiro/tables/keiro_workflows/constraints/keiro_workflows_attempts_not_null
expected-schema/v18/schemas/keiro/tables/keiro_workflows/constraints/keiro_workflows_created_at_not_null
expected-schema/v18/schemas/keiro/tables/keiro_workflows/constraints/keiro_workflows_generation_not_null
expected-schema/v18/schemas/keiro/tables/keiro_workflows/constraints/keiro_workflows_pkey
expected-schema/v18/schemas/keiro/tables/keiro_workflows/constraints/keiro_workflows_status_chk
expected-schema/v18/schemas/keiro/tables/keiro_workflows/constraints/keiro_workflows_status_not_null
expected-schema/v18/schemas/keiro/tables/keiro_workflows/constraints/keiro_workflows_updated_at_not_null
expected-schema/v18/schemas/keiro/tables/keiro_workflows/constraints/keiro_workflows_workflow_id_not_null
expected-schema/v18/schemas/keiro/tables/keiro_workflows/constraints/keiro_workflows_workflow_name_not_null
expected-schema/v18/schemas/keiro/tables/keiro_workflows/indexes/keiro_workflows_active_idx
expected-schema/v18/schemas/keiro/tables/keiro_workflows/indexes/keiro_workflows_gc_idx
expected-schema/v18/schemas/keiro/tables/keiro_workflows/indexes/keiro_workflows_pkey
expected-schema/v18/schemas/keiro/tables/keiro_workflows/objrep
migrations/*.sql
migrations/manifest
migrations.lock
sql-migrations/*.sql
source-repository head
type: git
location: https://github.com/shinzui/keiro.git
flag legacy-codd-tools
description:
Build transitional Codd expected-schema, remediation, and ledger-fixup
targets. The normal pg-migrate closure excludes these dependencies.
default: False
manual: True
common common
default-language: GHC2024
default-extensions:
DeriveAnyClass
DuplicateRecordFields
MultilineStrings
OverloadedLabels
OverloadedStrings
library
import: common
exposed-modules:
Keiro.Migrations
Keiro.Migrations.History.Codd
other-modules:
Keiro.Migrations.Internal.Definition
Keiro.Migrations.Internal.EmbedFile
hs-source-dirs: src
build-depends:
, base >=4.18 && <5
, bytestring >=0.11 && <0.13
, containers >=0.6 && <0.8
, kiroku-store-migrations ^>=0.2.0.0
, pg-migrate ^>=1.0.0.0
, pg-migrate-embed ^>=1.0.0.0
, pg-migrate-import-codd ^>=1.0.0.0
, template-haskell >=2.20 && <2.24
, text >=2.0 && <2.2
if flag(legacy-codd-tools)
exposed-modules:
Keiro.Migrations.ExpectedSchema
Keiro.Migrations.LegacyCodd
Keiro.Migrations.New
build-depends:
, codd >=0.1.8 && <0.2
, codd-extras >=0.1 && <0.2
, directory >=1.3
, file-embed >=0.0.15 && <0.0.17
, filepath >=1.4 && <1.6
, time >=1.12 && <1.15
executable keiro-migrate
import: common
main-is: Main.hs
hs-source-dirs: app
ghc-options: -threaded -rtsopts -with-rtsopts=-N
build-depends:
, aeson >=2.1 && <2.3
, base >=4.18 && <5
, bytestring >=0.11 && <0.13
, hasql >=1.10 && <1.11
, keiro-migrations
, kiroku-store-migrations ^>=0.2.0.0
, optparse-applicative >=0.17 && <0.20
, pg-migrate ^>=1.0.0.0
, pg-migrate-cli ^>=1.0.0.0
, text >=2.0 && <2.2
executable keiro-write-expected-schema
import: common
main-is: WriteExpectedSchema.hs
hs-source-dirs: app
ghc-options: -threaded -rtsopts -with-rtsopts=-N
if !flag(legacy-codd-tools)
buildable: False
build-depends:
, base
, codd-extras:ephemeral >=0.1 && <0.2
, keiro-migrations
, time
test-suite keiro-migrations-test
import: common
type: exitcode-stdio-1.0
main-is: Main.hs
hs-source-dirs: test
ghc-options: -threaded -rtsopts -with-rtsopts=-N
build-depends:
, async
, base >=4.18 && <5
, bytestring >=0.11 && <0.13
, containers >=0.6 && <0.8
, directory >=1.3
, ephemeral-pg >=0.2 && <0.3
, filepath >=1.4 && <1.6
, hasql >=1.10 && <1.11
, hspec >=2.10 && <2.12
, keiro-migrations
, kiroku-store-migrations ^>=0.2.0.0
, pg-migrate ^>=1.0.0.0
, pg-migrate-import-codd ^>=1.0.0.0
, pg-migrate-test-support ^>=1.0.0.0
, text >=2.0 && <2.2
test-suite keiro-migrations-legacy-test
import: common
type: exitcode-stdio-1.0
main-is: Main.hs
hs-source-dirs: test-legacy
ghc-options: -threaded -rtsopts -with-rtsopts=-N
if !flag(legacy-codd-tools)
buildable: False
build-depends:
, aeson
, async
, attoparsec
, base >=4.18 && <5
, codd
, codd-extras
, containers
, contravariant-extras
, directory
, ephemeral-pg >=0.2
, filepath
, generic-lens >=2.2
, hasql >=1.10
, hasql-pool >=1.2
, hspec >=2.10
, keiro-migrations
, kiroku-store >=0.3 && <0.4
, kiroku-store-migrations ^>=0.2.0.0
, lens >=5.2
, temporary
, text >=2.0
, time >=1.12
, vector >=0.13