version: "2"
sql:
  - engine: "sqlite"
    queries: "internal/migrations/query.sql"
    schema: "internal/migrations/schema.sql"
    gen:
      go:
        package: "keybase"
        out: "internal/keybase"
        emit_json_tags: true
        emit_empty_slices: true
        emit_pointers_for_null_types: true
        emit_interface: true
        emit_exact_table_names: false
        json_tags_case_style: "snake"
        overrides:
          - column: "did_documents.document"
            go_type: "encoding/json.RawMessage"
          - column: "credentials.transports"
            go_type: "encoding/json.RawMessage"
          - column: "ucan_tokens.capabilities"
            go_type: "encoding/json.RawMessage"
          - column: "ucan_tokens.proof_chain"
            go_type: "encoding/json.RawMessage"
          - column: "ucan_tokens.facts"
            go_type: "encoding/json.RawMessage"
          - column: "sessions.device_info"
            go_type: "encoding/json.RawMessage"
          - column: "services.metadata"
            go_type: "encoding/json.RawMessage"
          - column: "grants.scopes"
            go_type: "encoding/json.RawMessage"
          - column: "grants.accounts"
            go_type: "encoding/json.RawMessage"
          - column: "delegations.caveats"
            go_type: "encoding/json.RawMessage"
