CREATE DATABASE IF NOT EXISTS ory;

CREATE TABLE IF NOT EXISTS ory.oathkeeper_access_logs (
  timestamp DateTime64(3) DEFAULT now64(3),
  request_id String DEFAULT '',
  method String DEFAULT '',
  path String DEFAULT '',
  status UInt16 DEFAULT 0,
  latency_ms UInt32 DEFAULT 0,
  client_id String DEFAULT '',
  rp String DEFAULT '',
  action String DEFAULT '',
  target String DEFAULT '',
  rule_id String DEFAULT '',
  host String DEFAULT '',
  scheme String DEFAULT '',
  query String DEFAULT '',
  upstream_url String DEFAULT '',
  subject String DEFAULT '',
  parent_session_id String DEFAULT '',
  client_ip String DEFAULT '',
  user_agent String DEFAULT '',
  referer String DEFAULT '',
  decision String DEFAULT '',
  bytes_in UInt64 DEFAULT 0,
  bytes_out UInt64 DEFAULT 0,
  trace_id String DEFAULT '',
  span_id String DEFAULT '',
  raw String DEFAULT ''
) ENGINE = MergeTree()
ORDER BY (timestamp, request_id)
TTL toDateTime(timestamp) + INTERVAL 30 DAY;
