<?xml version="1.0" encoding="UTF-8"?><database name="anglerhythm" schema="public" type="PostgreSQL - 18.4 (Ubuntu 18.4-1.pgdg24.04+1)">
   <sequences>
      <sequence increment="1" name="angle_blog_jobs_id_seq" startValue="1"/>
      <sequence increment="1" name="angle_scores_id_seq" startValue="1"/>
      <sequence increment="1" name="angle_serp_links_id_seq" startValue="1"/>
      <sequence increment="1" name="angles_id_seq" startValue="1"/>
   </sequences>
   <tables>
      <table name="angle_blog_jobs" remarks="" schema="public" type="TABLE">
         <column autoUpdated="true" defaultValue="nextval('angle_blog_jobs_id_seq'::regclass)" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="serial" typeCode="4"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="1" name="angle_id" nullable="false" remarks="" size="10" type="int4" typeCode="4">
            <parent column="id" foreignKey="angle_blog_jobs_angle_id_fkey" implied="false" onDeleteCascade="false" schema="public" table="angles"/>
         </column>
         <column autoUpdated="false" defaultValue="null" digits="0" id="2" name="blogrhythm_job_id" nullable="true" remarks="" size="10" type="int4" typeCode="4"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="3" name="keyword" nullable="true" remarks="" size="2147483647" type="text" typeCode="12">
            <parent column="keyword" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" schema="public" table="keyword_volumes"/>
         </column>
         <column autoUpdated="false" defaultValue="'pending'::text" digits="0" id="4" name="status" nullable="false" remarks="" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="now()" digits="6" id="5" name="created_at" nullable="false" remarks="" size="35" type="timestamptz" typeCode="93"/>
         <primaryKey column="id" sequenceNumberInPK="1"/>
         <index name="angle_blog_jobs_pkey" unique="true">
            <column ascending="true" name="id"/>
         </index>
      </table>
      <table name="angle_scores" remarks="" schema="public" type="TABLE">
         <column autoUpdated="true" defaultValue="nextval('angle_scores_id_seq'::regclass)" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="serial" typeCode="4"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="1" name="angle_id" nullable="false" remarks="" size="10" type="int4" typeCode="4">
            <parent column="id" foreignKey="angle_scores_angle_id_fkey" implied="false" onDeleteCascade="true" schema="public" table="angles"/>
         </column>
         <column autoUpdated="false" defaultValue="now()" digits="6" id="2" name="scored_at" nullable="false" remarks="" size="35" type="timestamptz" typeCode="93"/>
         <column autoUpdated="false" defaultValue="null" digits="8" id="3" name="intent_urgency" nullable="false" remarks="" size="8" type="float4" typeCode="7"/>
         <column autoUpdated="false" defaultValue="null" digits="8" id="4" name="search_demand" nullable="false" remarks="" size="8" type="float4" typeCode="7"/>
         <column autoUpdated="false" defaultValue="null" digits="8" id="5" name="competition_gap" nullable="false" remarks="" size="8" type="float4" typeCode="7"/>
         <column autoUpdated="false" defaultValue="null" digits="8" id="6" name="conversion_fit" nullable="false" remarks="" size="8" type="float4" typeCode="7"/>
         <column autoUpdated="false" defaultValue="null" digits="8" id="7" name="defensibility" nullable="false" remarks="" size="8" type="float4" typeCode="7"/>
         <column autoUpdated="false" defaultValue="null" digits="8" id="8" name="composite" nullable="false" remarks="" size="8" type="float4" typeCode="7"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="9" name="weights" nullable="false" remarks="" size="2147483647" type="jsonb" typeCode="1111"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="10" name="inputs" nullable="true" remarks="" size="2147483647" type="jsonb" typeCode="1111"/>
         <primaryKey column="id" sequenceNumberInPK="1"/>
         <index name="angle_scores_pkey" unique="true">
            <column ascending="true" name="id"/>
         </index>
         <index name="idx_scores_angle" unique="false">
            <column ascending="true" name="angle_id"/>
            <column ascending="false" name="scored_at"/>
         </index>
      </table>
      <table name="angle_serp_links" remarks="" schema="public" type="TABLE">
         <column autoUpdated="true" defaultValue="nextval('angle_serp_links_id_seq'::regclass)" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="serial" typeCode="4"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="1" name="angle_id" nullable="false" remarks="" size="10" type="int4" typeCode="4">
            <parent column="id" foreignKey="angle_serp_links_angle_id_fkey" implied="false" onDeleteCascade="true" schema="public" table="angles"/>
         </column>
         <column autoUpdated="false" defaultValue="null" digits="0" id="2" name="serp_query_id" nullable="false" remarks="" size="10" type="int4" typeCode="4"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="3" name="cluster" nullable="true" remarks="" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="1.0" digits="8" id="4" name="weight" nullable="false" remarks="" size="8" type="float4" typeCode="7"/>
         <primaryKey column="id" sequenceNumberInPK="1"/>
         <index name="angle_serp_links_pkey" unique="true">
            <column ascending="true" name="id"/>
         </index>
         <index name="angle_serp_links_angle_id_serp_query_id_key" unique="true">
            <column ascending="true" name="angle_id"/>
            <column ascending="true" name="serp_query_id"/>
         </index>
      </table>
      <table name="angles" remarks="" schema="public" type="TABLE">
         <column autoUpdated="true" defaultValue="nextval('angles_id_seq'::regclass)" digits="0" id="0" name="id" nullable="false" remarks="" size="10" type="serial" typeCode="4">
            <child column="angle_id" foreignKey="angle_blog_jobs_angle_id_fkey" implied="false" onDeleteCascade="false" schema="public" table="angle_blog_jobs"/>
            <child column="angle_id" foreignKey="angle_scores_angle_id_fkey" implied="false" onDeleteCascade="true" schema="public" table="angle_scores"/>
            <child column="angle_id" foreignKey="angle_serp_links_angle_id_fkey" implied="false" onDeleteCascade="true" schema="public" table="angle_serp_links"/>
         </column>
         <column autoUpdated="false" defaultValue="null" digits="0" id="1" name="slug" nullable="false" remarks="" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="2" name="persona" nullable="false" remarks="" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="3" name="situation" nullable="false" remarks="" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="4" name="emotional_state" nullable="false" remarks="" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="5" name="search_intent" nullable="false" remarks="" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="6" name="positioning_hook" nullable="false" remarks="" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="7" name="title_seed" nullable="true" remarks="" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="'active'::text" digits="0" id="8" name="status" nullable="false" remarks="" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="now()" digits="6" id="9" name="created_at" nullable="false" remarks="" size="35" type="timestamptz" typeCode="93"/>
         <column autoUpdated="false" defaultValue="now()" digits="6" id="10" name="updated_at" nullable="false" remarks="" size="35" type="timestamptz" typeCode="93"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="11" name="persona_quant" nullable="true" remarks="" size="2147483647" type="jsonb" typeCode="1111"/>
         <primaryKey column="id" sequenceNumberInPK="1"/>
         <index name="angles_pkey" unique="true">
            <column ascending="true" name="id"/>
         </index>
         <index name="angles_slug_key" unique="true">
            <column ascending="true" name="slug"/>
         </index>
         <checkConstraint constraint="(status = ANY (ARRAY['draft'::text, 'active'::text, 'retired'::text]))" name="angles_status_check"/>
      </table>
      <table name="keyword_volumes" remarks="" schema="public" type="TABLE">
         <column autoUpdated="false" defaultValue="null" digits="0" id="0" name="keyword" nullable="false" remarks="" size="2147483647" type="text" typeCode="12">
            <child column="keyword" foreignKey="Implied Constraint" implied="true" onDeleteCascade="false" schema="public" table="angle_blog_jobs"/>
         </column>
         <column autoUpdated="false" defaultValue="null" digits="0" id="1" name="search_volume" nullable="true" remarks="" size="10" type="int4" typeCode="4"/>
         <column autoUpdated="false" defaultValue="null" digits="0" id="2" name="competition_index" nullable="true" remarks="" size="10" type="int4" typeCode="4"/>
         <column autoUpdated="false" defaultValue="'dataforseo'::text" digits="0" id="3" name="source" nullable="false" remarks="" size="2147483647" type="text" typeCode="12"/>
         <column autoUpdated="false" defaultValue="now()" digits="6" id="4" name="fetched_at" nullable="false" remarks="" size="35" type="timestamptz" typeCode="93"/>
         <primaryKey column="keyword" sequenceNumberInPK="1"/>
         <index name="keyword_volumes_pkey" unique="true">
            <column ascending="true" name="keyword"/>
         </index>
      </table>
   </tables>
</database>
