variable "database_url" {
  type    = string
  default = getenv("DATABASE_URL")
}

env "default" {
  src = [
    "file://schema/rls/context.sql",
    "file://schema/tables/tenants.sql",
    "file://schema/tables/tenant_quotas.sql",
    "file://schema/tables/issuers.sql",
    "file://schema/tables/tenant_issuers.sql",
    "file://schema/tables/users.sql",
    "file://schema/tables/user_external_ids.sql",
    "file://schema/tables/roles.sql",
    "file://schema/tables/role_permissions.sql",
    "file://schema/tables/user_roles.sql",
    "file://schema/tables/reviews.sql",
    "file://schema/tables/review_merge_queue.sql",
    "file://schema/tables/review_reviewers.sql",
    "file://schema/tables/contexts.sql",
    "file://schema/tables/environments.sql",
    "file://schema/tables/builds.sql",
    "file://schema/tables/releases.sql",
    "file://schema/tables/comments.sql",
    "file://schema/tables/audit_events.sql",
    "file://schema/tables/cloud_provider_aliases.sql",
    "file://schema/tables/context_credentials.sql",
    "file://schema/tables/usage_events.sql",
    "file://schema/tables/ai_sessions.sql",
    "file://schema/tables/invites.sql",
    "file://schema/tables/invite_requests.sql",
    "file://schema/tables/platform_rate_limits.sql",
    "file://schema/tables/gate_runs.sql",
    "file://schema/tables/jobs.sql",
    "file://schema/tables/retention_runs.sql",
    "file://schema/tables/environment_events.sql",
    "file://schema/tables/environment_definitions.sql",
    "file://schema/indexes/users.sql",
    "file://schema/indexes/user_external_ids.sql",
    "file://schema/indexes/role_permissions.sql",
    "file://schema/indexes/user_roles.sql",
    "file://schema/indexes/reviews.sql",
    "file://schema/indexes/review_merge_queue.sql",
    "file://schema/indexes/review_reviewers.sql",
    "file://schema/indexes/builds.sql",
    "file://schema/indexes/releases.sql",
    "file://schema/indexes/comments.sql",
    "file://schema/indexes/audit_events.sql",
    "file://schema/indexes/contexts.sql",
    "file://schema/indexes/environments.sql",
    "file://schema/indexes/usage_events.sql",
    "file://schema/indexes/invites.sql",
    "file://schema/indexes/invite_requests.sql",
    "file://schema/indexes/gate_runs.sql",
    "file://schema/indexes/jobs.sql",
    "file://schema/indexes/retention_runs.sql",
    "file://schema/indexes/environment_events.sql",
    "file://schema/indexes/environment_definitions.sql",
    "file://schema/triggers/comments.sql",
    "file://schema/triggers/timestamps.sql",
    "file://schema/fks/review_builds.sql",
    "file://schema/roles.sql",
    "file://schema/rls/users.sql",
    "file://schema/rls/user_external_ids.sql",
    "file://schema/rls/roles.sql",
    "file://schema/rls/role_permissions.sql",
    "file://schema/rls/user_roles.sql",
    "file://schema/rls/reviews.sql",
    "file://schema/rls/review_merge_queue.sql",
    "file://schema/rls/review_reviewers.sql",
    "file://schema/rls/builds.sql",
    "file://schema/rls/releases.sql",
    "file://schema/rls/comments.sql",
    "file://schema/rls/audit_events.sql",
    "file://schema/rls/contexts.sql",
    "file://schema/rls/environments.sql",
    "file://schema/rls/tenant_quotas.sql",
    "file://schema/rls/cloud_provider_aliases.sql",
    "file://schema/rls/context_credentials.sql",
    "file://schema/rls/usage_events.sql",
    "file://schema/rls/ai_sessions.sql",
    "file://schema/rls/invites.sql",
    "file://schema/rls/gate_runs.sql",
    "file://schema/rls/jobs.sql",
    "file://schema/rls/environment_events.sql",
    "file://schema/rls/environment_definitions.sql",
  ]
  url = var.database_url
  dev = "docker://postgres/18/dev?search_path=public"

  migration {
    dir = "file://migrations/default"
  }
}
