{
  "tables": [
    {
      "name": "admin_audit_log",
      "columns": [
        {
          "name": "id",
          "type": "UUID",
          "nullable": false,
          "default": "gen_random_uuid()"
        },
        {
          "name": "actor",
          "type": "VARCHAR(255)",
          "nullable": false,
          "default": null
        },
        {
          "name": "action",
          "type": "VARCHAR(100)",
          "nullable": false,
          "default": null
        },
        {
          "name": "entity_type",
          "type": "VARCHAR(100)",
          "nullable": false,
          "default": null
        },
        {
          "name": "entity_id",
          "type": "VARCHAR(255)",
          "nullable": false,
          "default": null
        },
        {
          "name": "payload",
          "type": "JSONB",
          "nullable": true,
          "default": null
        },
        {
          "name": "created_at",
          "type": "TIMESTAMP",
          "nullable": false,
          "default": "now()"
        }
      ],
      "primary_key": [
        "id"
      ],
      "foreign_keys": []
    },
    {
      "name": "articles",
      "columns": [
        {
          "name": "id",
          "type": "UUID",
          "nullable": false,
          "default": "gen_random_uuid()"
        },
        {
          "name": "slug",
          "type": "VARCHAR(160)",
          "nullable": false,
          "default": null
        },
        {
          "name": "vertical",
          "type": "VARCHAR(19)",
          "nullable": false,
          "default": null
        },
        {
          "name": "title",
          "type": "VARCHAR(255)",
          "nullable": false,
          "default": null
        },
        {
          "name": "summary",
          "type": "TEXT",
          "nullable": false,
          "default": null
        },
        {
          "name": "image_url",
          "type": "VARCHAR(2048)",
          "nullable": true,
          "default": null
        },
        {
          "name": "author",
          "type": "VARCHAR(120)",
          "nullable": false,
          "default": null
        },
        {
          "name": "published_at",
          "type": "TIMESTAMP",
          "nullable": false,
          "default": null
        },
        {
          "name": "updated_at",
          "type": "TIMESTAMP",
          "nullable": false,
          "default": "now()"
        },
        {
          "name": "tags",
          "type": "ARRAY",
          "nullable": false,
          "default": "ARRAY[]::article_tag[]"
        },
        {
          "name": "related_product_ids",
          "type": "ARRAY",
          "nullable": false,
          "default": "ARRAY[]::uuid[]"
        },
        {
          "name": "status",
          "type": "VARCHAR(20)",
          "nullable": false,
          "default": "'draft'::character varying"
        },
        {
          "name": "body_md",
          "type": "TEXT",
          "nullable": true,
          "default": null
        },
        {
          "name": "excerpt",
          "type": "TEXT",
          "nullable": true,
          "default": null
        }
      ],
      "primary_key": [
        "id"
      ],
      "foreign_keys": []
    },
    {
      "name": "consent_records",
      "columns": [
        {
          "name": "id",
          "type": "UUID",
          "nullable": false,
          "default": "gen_random_uuid()"
        },
        {
          "name": "user_id",
          "type": "UUID",
          "nullable": false,
          "default": null
        },
        {
          "name": "consent_type",
          "type": "VARCHAR(16)",
          "nullable": false,
          "default": null
        },
        {
          "name": "policy_version",
          "type": "VARCHAR(20)",
          "nullable": false,
          "default": null
        },
        {
          "name": "granted",
          "type": "BOOLEAN",
          "nullable": false,
          "default": null
        },
        {
          "name": "recorded_at",
          "type": "TIMESTAMP",
          "nullable": false,
          "default": "now()"
        },
        {
          "name": "ip_address_hash",
          "type": "VARCHAR(64)",
          "nullable": false,
          "default": null
        }
      ],
      "primary_key": [
        "id"
      ],
      "foreign_keys": [
        {
          "columns": [
            "user_id"
          ],
          "referred_table": "user_profiles",
          "referred_columns": [
            "id"
          ],
          "ondelete": "RESTRICT"
        }
      ]
    },
    {
      "name": "content_pages",
      "columns": [
        {
          "name": "id",
          "type": "UUID",
          "nullable": false,
          "default": "gen_random_uuid()"
        },
        {
          "name": "slug",
          "type": "VARCHAR(255)",
          "nullable": false,
          "default": null
        },
        {
          "name": "vertical",
          "type": "VARCHAR(19)",
          "nullable": true,
          "default": null
        },
        {
          "name": "page_type",
          "type": "VARCHAR(8)",
          "nullable": false,
          "default": null
        },
        {
          "name": "title",
          "type": "VARCHAR(255)",
          "nullable": false,
          "default": null
        },
        {
          "name": "meta_description",
          "type": "TEXT",
          "nullable": true,
          "default": null
        },
        {
          "name": "body_html",
          "type": "TEXT",
          "nullable": true,
          "default": null
        },
        {
          "name": "structured_data",
          "type": "JSONB",
          "nullable": true,
          "default": null
        },
        {
          "name": "published_at",
          "type": "TIMESTAMP",
          "nullable": true,
          "default": null
        },
        {
          "name": "updated_at",
          "type": "TIMESTAMP",
          "nullable": false,
          "default": "now()"
        },
        {
          "name": "author",
          "type": "VARCHAR(255)",
          "nullable": true,
          "default": null
        }
      ],
      "primary_key": [
        "id"
      ],
      "foreign_keys": []
    },
    {
      "name": "credit_cards",
      "columns": [
        {
          "name": "product_id",
          "type": "UUID",
          "nullable": false,
          "default": null
        },
        {
          "name": "annual_fee_crc",
          "type": "NUMERIC(12, 2)",
          "nullable": false,
          "default": "0"
        },
        {
          "name": "annual_fee_waivable",
          "type": "BOOLEAN",
          "nullable": false,
          "default": "false"
        },
        {
          "name": "interest_rate_annual_pct",
          "type": "NUMERIC(6, 4)",
          "nullable": false,
          "default": null
        },
        {
          "name": "network",
          "type": "VARCHAR(10)",
          "nullable": false,
          "default": null
        },
        {
          "name": "reward_type",
          "type": "VARCHAR(8)",
          "nullable": false,
          "default": "'none'::reward_type"
        },
        {
          "name": "cashback_rate_pct",
          "type": "NUMERIC(6, 4)",
          "nullable": true,
          "default": null
        },
        {
          "name": "min_income_crc",
          "type": "NUMERIC(14, 2)",
          "nullable": true,
          "default": null
        },
        {
          "name": "benefits_summary",
          "type": "TEXT",
          "nullable": true,
          "default": null
        },
        {
          "name": "currency",
          "type": "VARCHAR(5)",
          "nullable": false,
          "default": "'CRC'::card_currency"
        },
        {
          "name": "has_travel_benefits",
          "type": "BOOLEAN",
          "nullable": false,
          "default": "false"
        }
      ],
      "primary_key": [
        "product_id"
      ],
      "foreign_keys": [
        {
          "columns": [
            "product_id"
          ],
          "referred_table": "financial_products",
          "referred_columns": [
            "id"
          ],
          "ondelete": "CASCADE"
        }
      ]
    },
    {
      "name": "cta_engagement_events",
      "columns": [
        {
          "name": "id",
          "type": "UUID",
          "nullable": false,
          "default": "gen_random_uuid()"
        },
        {
          "name": "session_id",
          "type": "VARCHAR(64)",
          "nullable": false,
          "default": null
        },
        {
          "name": "product_id",
          "type": "UUID",
          "nullable": false,
          "default": null
        },
        {
          "name": "vertical",
          "type": "VARCHAR(19)",
          "nullable": false,
          "default": null
        },
        {
          "name": "source_surface",
          "type": "VARCHAR(11)",
          "nullable": false,
          "default": null
        },
        {
          "name": "event_type",
          "type": "VARCHAR(16)",
          "nullable": false,
          "default": null
        },
        {
          "name": "metadata",
          "type": "JSONB",
          "nullable": true,
          "default": null
        },
        {
          "name": "created_at",
          "type": "TIMESTAMP",
          "nullable": false,
          "default": "now()"
        }
      ],
      "primary_key": [
        "id"
      ],
      "foreign_keys": [
        {
          "columns": [
            "product_id"
          ],
          "referred_table": "financial_products",
          "referred_columns": [
            "id"
          ],
          "ondelete": "CASCADE"
        }
      ]
    },
    {
      "name": "document_versions",
      "columns": [
        {
          "name": "id",
          "type": "UUID",
          "nullable": false,
          "default": "gen_random_uuid()"
        },
        {
          "name": "document_id",
          "type": "UUID",
          "nullable": false,
          "default": null
        },
        {
          "name": "version_number",
          "type": "INTEGER",
          "nullable": false,
          "default": null
        },
        {
          "name": "storage_path",
          "type": "VARCHAR(1024)",
          "nullable": false,
          "default": null
        },
        {
          "name": "superseded_at",
          "type": "TIMESTAMP",
          "nullable": false,
          "default": "now()"
        },
        {
          "name": "replaced_by",
          "type": "UUID",
          "nullable": true,
          "default": null
        }
      ],
      "primary_key": [
        "id"
      ],
      "foreign_keys": [
        {
          "columns": [
            "document_id"
          ],
          "referred_table": "static_documents",
          "referred_columns": [
            "id"
          ],
          "ondelete": "CASCADE"
        },
        {
          "columns": [
            "replaced_by"
          ],
          "referred_table": "static_documents",
          "referred_columns": [
            "id"
          ],
          "ondelete": "SET NULL"
        }
      ]
    },
    {
      "name": "editorial_reviews",
      "columns": [
        {
          "name": "product_id",
          "type": "UUID",
          "nullable": false,
          "default": null
        },
        {
          "name": "pros",
          "type": "ARRAY",
          "nullable": false,
          "default": "ARRAY[]::text[]"
        },
        {
          "name": "cons",
          "type": "ARRAY",
          "nullable": false,
          "default": "ARRAY[]::text[]"
        },
        {
          "name": "best_use_case",
          "type": "TEXT",
          "nullable": true,
          "default": null
        },
        {
          "name": "review_body_md",
          "type": "TEXT",
          "nullable": true,
          "default": null
        },
        {
          "name": "author",
          "type": "VARCHAR(120)",
          "nullable": true,
          "default": null
        },
        {
          "name": "published_at",
          "type": "TIMESTAMP",
          "nullable": true,
          "default": null
        },
        {
          "name": "updated_at",
          "type": "TIMESTAMP",
          "nullable": false,
          "default": "now()"
        },
        {
          "name": "status",
          "type": "VARCHAR(20)",
          "nullable": false,
          "default": "'draft'::character varying"
        }
      ],
      "primary_key": [
        "product_id"
      ],
      "foreign_keys": [
        {
          "columns": [
            "product_id"
          ],
          "referred_table": "financial_products",
          "referred_columns": [
            "id"
          ],
          "ondelete": "CASCADE"
        }
      ]
    },
    {
      "name": "financial_products",
      "columns": [
        {
          "name": "id",
          "type": "UUID",
          "nullable": false,
          "default": "gen_random_uuid()"
        },
        {
          "name": "vertical",
          "type": "VARCHAR(19)",
          "nullable": false,
          "default": null
        },
        {
          "name": "product_name",
          "type": "VARCHAR(255)",
          "nullable": false,
          "default": null
        },
        {
          "name": "issuer_id",
          "type": "VARCHAR(100)",
          "nullable": false,
          "default": null
        },
        {
          "name": "status",
          "type": "VARCHAR(8)",
          "nullable": false,
          "default": "'draft'::product_status"
        },
        {
          "name": "editorial_score",
          "type": "SMALLINT",
          "nullable": false,
          "default": "0"
        },
        {
          "name": "editorial_summary",
          "type": "TEXT",
          "nullable": true,
          "default": null
        },
        {
          "name": "updated_at",
          "type": "TIMESTAMP",
          "nullable": false,
          "default": "now()"
        },
        {
          "name": "source_url",
          "type": "VARCHAR(2048)",
          "nullable": true,
          "default": null
        }
      ],
      "primary_key": [
        "id"
      ],
      "foreign_keys": [
        {
          "columns": [
            "issuer_id"
          ],
          "referred_table": "issuers",
          "referred_columns": [
            "id"
          ],
          "ondelete": "RESTRICT"
        }
      ]
    },
    {
      "name": "guide_clusters",
      "columns": [
        {
          "name": "id",
          "type": "VARCHAR(21)",
          "nullable": false,
          "default": null
        },
        {
          "name": "title",
          "type": "VARCHAR(120)",
          "nullable": false,
          "default": null
        },
        {
          "name": "description",
          "type": "TEXT",
          "nullable": false,
          "default": null
        },
        {
          "name": "order_index",
          "type": "SMALLINT",
          "nullable": false,
          "default": null
        }
      ],
      "primary_key": [
        "id"
      ],
      "foreign_keys": []
    },
    {
      "name": "guides",
      "columns": [
        {
          "name": "id",
          "type": "UUID",
          "nullable": false,
          "default": "gen_random_uuid()"
        },
        {
          "name": "slug",
          "type": "VARCHAR(160)",
          "nullable": false,
          "default": null
        },
        {
          "name": "cluster_id",
          "type": "VARCHAR(21)",
          "nullable": false,
          "default": null
        },
        {
          "name": "title",
          "type": "VARCHAR(255)",
          "nullable": false,
          "default": null
        },
        {
          "name": "summary",
          "type": "TEXT",
          "nullable": false,
          "default": null
        },
        {
          "name": "body_md",
          "type": "TEXT",
          "nullable": false,
          "default": null
        },
        {
          "name": "author",
          "type": "VARCHAR(120)",
          "nullable": false,
          "default": null
        },
        {
          "name": "updated_at",
          "type": "TIMESTAMP",
          "nullable": false,
          "default": "now()"
        },
        {
          "name": "order_in_cluster",
          "type": "SMALLINT",
          "nullable": false,
          "default": "0"
        },
        {
          "name": "related_guide_slugs",
          "type": "ARRAY",
          "nullable": false,
          "default": "(ARRAY[]::character varying[])::character varying(160)[]"
        },
        {
          "name": "related_article_slugs",
          "type": "ARRAY",
          "nullable": false,
          "default": "(ARRAY[]::character varying[])::character varying(160)[]"
        },
        {
          "name": "related_product_ids",
          "type": "ARRAY",
          "nullable": false,
          "default": "ARRAY[]::uuid[]"
        },
        {
          "name": "status",
          "type": "VARCHAR(20)",
          "nullable": false,
          "default": "'draft'::character varying"
        },
        {
          "name": "published_at",
          "type": "TIMESTAMP",
          "nullable": true,
          "default": null
        }
      ],
      "primary_key": [
        "id"
      ],
      "foreign_keys": [
        {
          "columns": [
            "cluster_id"
          ],
          "referred_table": "guide_clusters",
          "referred_columns": [
            "id"
          ],
          "ondelete": "RESTRICT"
        }
      ]
    },
    {
      "name": "home_loans",
      "columns": [
        {
          "name": "product_id",
          "type": "UUID",
          "nullable": false,
          "default": null
        },
        {
          "name": "rate_type",
          "type": "VARCHAR(8)",
          "nullable": false,
          "default": null
        },
        {
          "name": "interest_rate_annual_pct",
          "type": "NUMERIC(8, 4)",
          "nullable": false,
          "default": null
        },
        {
          "name": "max_ltv_pct",
          "type": "NUMERIC(6, 4)",
          "nullable": false,
          "default": null
        },
        {
          "name": "max_term_years",
          "type": "SMALLINT",
          "nullable": false,
          "default": null
        },
        {
          "name": "currency",
          "type": "VARCHAR(3)",
          "nullable": false,
          "default": null
        },
        {
          "name": "min_amount",
          "type": "NUMERIC(18, 2)",
          "nullable": true,
          "default": null
        },
        {
          "name": "max_amount",
          "type": "NUMERIC(18, 2)",
          "nullable": true,
          "default": null
        },
        {
          "name": "eligibility_notes",
          "type": "TEXT",
          "nullable": true,
          "default": null
        }
      ],
      "primary_key": [
        "product_id"
      ],
      "foreign_keys": [
        {
          "columns": [
            "product_id"
          ],
          "referred_table": "financial_products",
          "referred_columns": [
            "id"
          ],
          "ondelete": "CASCADE"
        }
      ]
    },
    {
      "name": "issuers",
      "columns": [
        {
          "name": "id",
          "type": "VARCHAR(100)",
          "nullable": false,
          "default": null
        },
        {
          "name": "name",
          "type": "VARCHAR(255)",
          "nullable": false,
          "default": null
        },
        {
          "name": "short_name",
          "type": "VARCHAR(50)",
          "nullable": false,
          "default": null
        },
        {
          "name": "vertical",
          "type": "VARCHAR(19)",
          "nullable": true,
          "default": null
        },
        {
          "name": "logo_url",
          "type": "VARCHAR(2048)",
          "nullable": true,
          "default": null
        },
        {
          "name": "website_url",
          "type": "VARCHAR(2048)",
          "nullable": true,
          "default": null
        },
        {
          "name": "is_active",
          "type": "BOOLEAN",
          "nullable": false,
          "default": "true"
        }
      ],
      "primary_key": [
        "id"
      ],
      "foreign_keys": []
    },
    {
      "name": "journey_steps",
      "columns": [
        {
          "name": "id",
          "type": "UUID",
          "nullable": false,
          "default": "gen_random_uuid()"
        },
        {
          "name": "journey_id",
          "type": "UUID",
          "nullable": false,
          "default": null
        },
        {
          "name": "guide_id",
          "type": "UUID",
          "nullable": false,
          "default": null
        },
        {
          "name": "step_title",
          "type": "VARCHAR(255)",
          "nullable": false,
          "default": null
        },
        {
          "name": "position",
          "type": "SMALLINT",
          "nullable": false,
          "default": null
        }
      ],
      "primary_key": [
        "id"
      ],
      "foreign_keys": [
        {
          "columns": [
            "guide_id"
          ],
          "referred_table": "guides",
          "referred_columns": [
            "id"
          ],
          "ondelete": "RESTRICT"
        },
        {
          "columns": [
            "journey_id"
          ],
          "referred_table": "learning_journeys",
          "referred_columns": [
            "id"
          ],
          "ondelete": "CASCADE"
        }
      ]
    },
    {
      "name": "lead_consent_records",
      "columns": [
        {
          "name": "id",
          "type": "UUID",
          "nullable": false,
          "default": "gen_random_uuid()"
        },
        {
          "name": "lead_id",
          "type": "UUID",
          "nullable": false,
          "default": null
        },
        {
          "name": "policy_version",
          "type": "VARCHAR(20)",
          "nullable": false,
          "default": null
        },
        {
          "name": "granted_at",
          "type": "TIMESTAMP",
          "nullable": false,
          "default": "now()"
        },
        {
          "name": "ip_hash",
          "type": "VARCHAR(64)",
          "nullable": false,
          "default": null
        }
      ],
      "primary_key": [
        "id"
      ],
      "foreign_keys": [
        {
          "columns": [
            "lead_id"
          ],
          "referred_table": "leads",
          "referred_columns": [
            "id"
          ],
          "ondelete": "CASCADE"
        }
      ]
    },
    {
      "name": "lead_deletion_requests",
      "columns": [
        {
          "name": "id",
          "type": "UUID",
          "nullable": false,
          "default": "gen_random_uuid()"
        },
        {
          "name": "email",
          "type": "VARCHAR(320)",
          "nullable": false,
          "default": null
        },
        {
          "name": "requested_at",
          "type": "TIMESTAMP",
          "nullable": false,
          "default": "now()"
        },
        {
          "name": "status",
          "type": "VARCHAR(9)",
          "nullable": false,
          "default": "'pending'::deletion_request_status"
        },
        {
          "name": "processed_at",
          "type": "TIMESTAMP",
          "nullable": true,
          "default": null
        },
        {
          "name": "processing_notes",
          "type": "TEXT",
          "nullable": true,
          "default": null
        }
      ],
      "primary_key": [
        "id"
      ],
      "foreign_keys": []
    },
    {
      "name": "leads",
      "columns": [
        {
          "name": "id",
          "type": "UUID",
          "nullable": false,
          "default": "gen_random_uuid()"
        },
        {
          "name": "name",
          "type": "VARCHAR(200)",
          "nullable": true,
          "default": null
        },
        {
          "name": "email",
          "type": "VARCHAR(320)",
          "nullable": true,
          "default": null
        },
        {
          "name": "vertical",
          "type": "VARCHAR(19)",
          "nullable": false,
          "default": null
        },
        {
          "name": "product_id",
          "type": "UUID",
          "nullable": false,
          "default": null
        },
        {
          "name": "product_name_snapshot",
          "type": "VARCHAR(255)",
          "nullable": false,
          "default": null
        },
        {
          "name": "source_surface",
          "type": "VARCHAR(11)",
          "nullable": false,
          "default": null
        },
        {
          "name": "session_id",
          "type": "VARCHAR(64)",
          "nullable": false,
          "default": null
        },
        {
          "name": "status",
          "type": "VARCHAR(9)",
          "nullable": false,
          "default": "'new'::lead_status"
        },
        {
          "name": "notes",
          "type": "TEXT",
          "nullable": true,
          "default": null
        },
        {
          "name": "created_at",
          "type": "TIMESTAMP",
          "nullable": false,
          "default": "now()"
        },
        {
          "name": "contacted_at",
          "type": "TIMESTAMP",
          "nullable": true,
          "default": null
        },
        {
          "name": "is_anonymized",
          "type": "BOOLEAN",
          "nullable": false,
          "default": "false"
        }
      ],
      "primary_key": [
        "id"
      ],
      "foreign_keys": [
        {
          "columns": [
            "product_id"
          ],
          "referred_table": "financial_products",
          "referred_columns": [
            "id"
          ],
          "ondelete": "RESTRICT"
        }
      ]
    },
    {
      "name": "learning_journeys",
      "columns": [
        {
          "name": "id",
          "type": "UUID",
          "nullable": false,
          "default": "gen_random_uuid()"
        },
        {
          "name": "slug",
          "type": "VARCHAR(160)",
          "nullable": false,
          "default": null
        },
        {
          "name": "title",
          "type": "VARCHAR(255)",
          "nullable": false,
          "default": null
        },
        {
          "name": "description",
          "type": "TEXT",
          "nullable": false,
          "default": null
        },
        {
          "name": "guide_slugs",
          "type": "ARRAY",
          "nullable": false,
          "default": null
        },
        {
          "name": "end_cta_kind",
          "type": "VARCHAR(40)",
          "nullable": false,
          "default": null
        },
        {
          "name": "end_cta_label",
          "type": "VARCHAR(120)",
          "nullable": false,
          "default": null
        }
      ],
      "primary_key": [
        "id"
      ],
      "foreign_keys": []
    },
    {
      "name": "offers",
      "columns": [
        {
          "name": "id",
          "type": "UUID",
          "nullable": false,
          "default": "gen_random_uuid()"
        },
        {
          "name": "product_id",
          "type": "UUID",
          "nullable": false,
          "default": null
        },
        {
          "name": "headline",
          "type": "VARCHAR(160)",
          "nullable": false,
          "default": null
        },
        {
          "name": "terms_snippet",
          "type": "TEXT",
          "nullable": true,
          "default": null
        },
        {
          "name": "bonus_crc",
          "type": "NUMERIC(12, 2)",
          "nullable": true,
          "default": null
        },
        {
          "name": "intro_apr_pct",
          "type": "NUMERIC(6, 4)",
          "nullable": true,
          "default": null
        },
        {
          "name": "intro_period_months",
          "type": "SMALLINT",
          "nullable": true,
          "default": null
        },
        {
          "name": "active_from",
          "type": "TIMESTAMP",
          "nullable": true,
          "default": null
        },
        {
          "name": "active_until",
          "type": "TIMESTAMP",
          "nullable": true,
          "default": null
        },
        {
          "name": "created_at",
          "type": "TIMESTAMP",
          "nullable": false,
          "default": "now()"
        }
      ],
      "primary_key": [
        "id"
      ],
      "foreign_keys": [
        {
          "columns": [
            "product_id"
          ],
          "referred_table": "financial_products",
          "referred_columns": [
            "id"
          ],
          "ondelete": "CASCADE"
        }
      ]
    },
    {
      "name": "pension_funds",
      "columns": [
        {
          "name": "product_id",
          "type": "UUID",
          "nullable": false,
          "default": null
        },
        {
          "name": "fund_type",
          "type": "VARCHAR(3)",
          "nullable": false,
          "default": null
        },
        {
          "name": "operadora",
          "type": "VARCHAR(255)",
          "nullable": false,
          "default": null
        },
        {
          "name": "return_1yr_pct",
          "type": "NUMERIC(8, 4)",
          "nullable": true,
          "default": null
        },
        {
          "name": "return_3yr_pct",
          "type": "NUMERIC(8, 4)",
          "nullable": true,
          "default": null
        },
        {
          "name": "return_5yr_pct",
          "type": "NUMERIC(8, 4)",
          "nullable": true,
          "default": null
        },
        {
          "name": "management_fee_pct",
          "type": "NUMERIC(6, 4)",
          "nullable": false,
          "default": null
        },
        {
          "name": "risk_profile",
          "type": "TEXT",
          "nullable": true,
          "default": null
        },
        {
          "name": "supen_rating",
          "type": "VARCHAR(10)",
          "nullable": true,
          "default": null
        },
        {
          "name": "prospectus_date",
          "type": "DATE",
          "nullable": true,
          "default": null
        }
      ],
      "primary_key": [
        "product_id"
      ],
      "foreign_keys": [
        {
          "columns": [
            "product_id"
          ],
          "referred_table": "financial_products",
          "referred_columns": [
            "id"
          ],
          "ondelete": "CASCADE"
        }
      ]
    },
    {
      "name": "saved_comparisons",
      "columns": [
        {
          "name": "id",
          "type": "UUID",
          "nullable": false,
          "default": "gen_random_uuid()"
        },
        {
          "name": "user_id",
          "type": "UUID",
          "nullable": false,
          "default": null
        },
        {
          "name": "vertical",
          "type": "VARCHAR(19)",
          "nullable": false,
          "default": null
        },
        {
          "name": "product_ids",
          "type": "ARRAY",
          "nullable": false,
          "default": null
        },
        {
          "name": "label",
          "type": "VARCHAR(120)",
          "nullable": true,
          "default": null
        },
        {
          "name": "created_at",
          "type": "TIMESTAMP",
          "nullable": false,
          "default": "now()"
        }
      ],
      "primary_key": [
        "id"
      ],
      "foreign_keys": [
        {
          "columns": [
            "user_id"
          ],
          "referred_table": "user_profiles",
          "referred_columns": [
            "id"
          ],
          "ondelete": "CASCADE"
        }
      ]
    },
    {
      "name": "static_documents",
      "columns": [
        {
          "name": "id",
          "type": "UUID",
          "nullable": false,
          "default": "gen_random_uuid()"
        },
        {
          "name": "vertical",
          "type": "VARCHAR(19)",
          "nullable": true,
          "default": null
        },
        {
          "name": "issuer_id",
          "type": "VARCHAR(100)",
          "nullable": false,
          "default": null
        },
        {
          "name": "document_type",
          "type": "VARCHAR(12)",
          "nullable": false,
          "default": null
        },
        {
          "name": "title",
          "type": "VARCHAR(255)",
          "nullable": false,
          "default": null
        },
        {
          "name": "storage_path",
          "type": "VARCHAR(1024)",
          "nullable": false,
          "default": null
        },
        {
          "name": "storage_backend",
          "type": "VARCHAR(6)",
          "nullable": false,
          "default": "'volume'::storage_backend"
        },
        {
          "name": "access_level",
          "type": "VARCHAR(10)",
          "nullable": false,
          "default": "'public'::document_access"
        },
        {
          "name": "effective_date",
          "type": "DATE",
          "nullable": true,
          "default": null
        },
        {
          "name": "is_current_version",
          "type": "BOOLEAN",
          "nullable": false,
          "default": "true"
        },
        {
          "name": "uploaded_at",
          "type": "TIMESTAMP",
          "nullable": false,
          "default": "now()"
        },
        {
          "name": "uploaded_by",
          "type": "UUID",
          "nullable": true,
          "default": null
        }
      ],
      "primary_key": [
        "id"
      ],
      "foreign_keys": [
        {
          "columns": [
            "issuer_id"
          ],
          "referred_table": "issuers",
          "referred_columns": [
            "id"
          ],
          "ondelete": "RESTRICT"
        },
        {
          "columns": [
            "uploaded_by"
          ],
          "referred_table": "user_profiles",
          "referred_columns": [
            "id"
          ],
          "ondelete": "SET NULL"
        }
      ]
    },
    {
      "name": "user_alerts",
      "columns": [
        {
          "name": "id",
          "type": "UUID",
          "nullable": false,
          "default": "gen_random_uuid()"
        },
        {
          "name": "user_id",
          "type": "UUID",
          "nullable": false,
          "default": null
        },
        {
          "name": "product_id",
          "type": "UUID",
          "nullable": false,
          "default": null
        },
        {
          "name": "alert_type",
          "type": "VARCHAR(11)",
          "nullable": false,
          "default": null
        },
        {
          "name": "threshold_value",
          "type": "NUMERIC(10, 4)",
          "nullable": true,
          "default": null
        },
        {
          "name": "is_active",
          "type": "BOOLEAN",
          "nullable": false,
          "default": "true"
        },
        {
          "name": "last_triggered_at",
          "type": "TIMESTAMP",
          "nullable": true,
          "default": null
        },
        {
          "name": "created_at",
          "type": "TIMESTAMP",
          "nullable": false,
          "default": "now()"
        }
      ],
      "primary_key": [
        "id"
      ],
      "foreign_keys": [
        {
          "columns": [
            "product_id"
          ],
          "referred_table": "financial_products",
          "referred_columns": [
            "id"
          ],
          "ondelete": "CASCADE"
        },
        {
          "columns": [
            "user_id"
          ],
          "referred_table": "user_profiles",
          "referred_columns": [
            "id"
          ],
          "ondelete": "CASCADE"
        }
      ]
    },
    {
      "name": "user_profiles",
      "columns": [
        {
          "name": "id",
          "type": "UUID",
          "nullable": false,
          "default": "gen_random_uuid()"
        },
        {
          "name": "clerk_user_id",
          "type": "VARCHAR(255)",
          "nullable": false,
          "default": null
        },
        {
          "name": "email",
          "type": "VARCHAR(320)",
          "nullable": false,
          "default": null
        },
        {
          "name": "display_name",
          "type": "VARCHAR(255)",
          "nullable": true,
          "default": null
        },
        {
          "name": "role",
          "type": "VARCHAR(15)",
          "nullable": false,
          "default": "'registered_user'::user_role"
        },
        {
          "name": "preferred_currency",
          "type": "VARCHAR(3)",
          "nullable": false,
          "default": "'CRC'::character varying"
        },
        {
          "name": "preferred_verticals",
          "type": "JSONB",
          "nullable": false,
          "default": "'[]'::jsonb"
        },
        {
          "name": "default_sort_credit_cards",
          "type": "VARCHAR(50)",
          "nullable": true,
          "default": null
        },
        {
          "name": "default_sort_pension_funds",
          "type": "VARCHAR(50)",
          "nullable": true,
          "default": null
        },
        {
          "name": "default_sort_home_loans",
          "type": "VARCHAR(50)",
          "nullable": true,
          "default": null
        },
        {
          "name": "notification_frequency",
          "type": "VARCHAR(20)",
          "nullable": true,
          "default": "'immediate'::character varying"
        },
        {
          "name": "created_at",
          "type": "TIMESTAMP",
          "nullable": false,
          "default": "now()"
        },
        {
          "name": "deleted_at",
          "type": "TIMESTAMP",
          "nullable": true,
          "default": null
        },
        {
          "name": "is_anonymized",
          "type": "BOOLEAN",
          "nullable": false,
          "default": "false"
        }
      ],
      "primary_key": [
        "id"
      ],
      "foreign_keys": []
    }
  ]
}
