SPB Git forge
38commits 1branches 0releases
338.7 MBsize
maindefault branch
4 h agolast push
HTML 53.9% TypeScript 44.5% JavaScript 0.6% SQL 0.5%
96.2 KB · 3,840 lines json
Raw Blame History
1{2  "id": "299a3c4c-177d-48f1-8ad6-24538455fa02",3  "prevId": "00000000-0000-0000-0000-000000000000",4  "version": "7",5  "dialect": "postgresql",6  "tables": {7    "public.admin_sessions": {8      "name": "admin_sessions",9      "schema": "",10      "columns": {11        "id": {12          "name": "id",13          "type": "text",14          "primaryKey": true,15          "notNull": true16        },17        "created_at": {18          "name": "created_at",19          "type": "timestamp with time zone",20          "primaryKey": false,21          "notNull": true,22          "default": "now()"23        },24        "expires_at": {25          "name": "expires_at",26          "type": "timestamp with time zone",27          "primaryKey": false,28          "notNull": true29        },30        "ip": {31          "name": "ip",32          "type": "text",33          "primaryKey": false,34          "notNull": false35        },36        "user_agent": {37          "name": "user_agent",38          "type": "text",39          "primaryKey": false,40          "notNull": false41        }42      },43      "indexes": {},44      "foreignKeys": {},45      "compositePrimaryKeys": {},46      "uniqueConstraints": {},47      "policies": {},48      "checkConstraints": {},49      "isRLSEnabled": false50    },51    "public.campuses": {52      "name": "campuses",53      "schema": "",54      "columns": {55        "id": {56          "name": "id",57          "type": "text",58          "primaryKey": true,59          "notNull": true60        },61        "slug": {62          "name": "slug",63          "type": "text",64          "primaryKey": false,65          "notNull": true66        },67        "name": {68          "name": "name",69          "type": "text",70          "primaryKey": false,71          "notNull": true72        },73        "operator_id": {74          "name": "operator_id",75          "type": "text",76          "primaryKey": false,77          "notNull": false78        },79        "metro_id": {80          "name": "metro_id",81          "type": "text",82          "primaryKey": false,83          "notNull": false84        },85        "country_iso2": {86          "name": "country_iso2",87          "type": "text",88          "primaryKey": false,89          "notNull": false90        },91        "city": {92          "name": "city",93          "type": "text",94          "primaryKey": false,95          "notNull": false96        },97        "lat": {98          "name": "lat",99          "type": "double precision",100          "primaryKey": false,101          "notNull": false102        },103        "lng": {104          "name": "lng",105          "type": "double precision",106          "primaryKey": false,107          "notNull": false108        },109        "external_ids": {110          "name": "external_ids",111          "type": "jsonb",112          "primaryKey": false,113          "notNull": true,114          "default": "'{}'::jsonb"115        },116        "created_at": {117          "name": "created_at",118          "type": "timestamp with time zone",119          "primaryKey": false,120          "notNull": true,121          "default": "now()"122        },123        "updated_at": {124          "name": "updated_at",125          "type": "timestamp with time zone",126          "primaryKey": false,127          "notNull": true,128          "default": "now()"129        }130      },131      "indexes": {},132      "foreignKeys": {133        "campuses_operator_id_operators_id_fk": {134          "name": "campuses_operator_id_operators_id_fk",135          "tableFrom": "campuses",136          "tableTo": "operators",137          "columnsFrom": [138            "operator_id"139          ],140          "columnsTo": [141            "id"142          ],143          "onDelete": "no action",144          "onUpdate": "no action"145        },146        "campuses_metro_id_metros_id_fk": {147          "name": "campuses_metro_id_metros_id_fk",148          "tableFrom": "campuses",149          "tableTo": "metros",150          "columnsFrom": [151            "metro_id"152          ],153          "columnsTo": [154            "id"155          ],156          "onDelete": "no action",157          "onUpdate": "no action"158        }159      },160      "compositePrimaryKeys": {},161      "uniqueConstraints": {162        "campuses_slug_unique": {163          "name": "campuses_slug_unique",164          "nullsNotDistinct": false,165          "columns": [166            "slug"167          ]168        }169      },170      "policies": {},171      "checkConstraints": {},172      "isRLSEnabled": false173    },174    "public.cloud_regions": {175      "name": "cloud_regions",176      "schema": "",177      "columns": {178        "id": {179          "name": "id",180          "type": "text",181          "primaryKey": true,182          "notNull": true183        },184        "slug": {185          "name": "slug",186          "type": "text",187          "primaryKey": false,188          "notNull": true189        },190        "provider_id": {191          "name": "provider_id",192          "type": "text",193          "primaryKey": false,194          "notNull": true195        },196        "code": {197          "name": "code",198          "type": "text",199          "primaryKey": false,200          "notNull": true201        },202        "name": {203          "name": "name",204          "type": "text",205          "primaryKey": false,206          "notNull": true207        },208        "city": {209          "name": "city",210          "type": "text",211          "primaryKey": false,212          "notNull": false213        },214        "region_name": {215          "name": "region_name",216          "type": "text",217          "primaryKey": false,218          "notNull": false219        },220        "country_iso2": {221          "name": "country_iso2",222          "type": "text",223          "primaryKey": false,224          "notNull": false225        },226        "metro_id": {227          "name": "metro_id",228          "type": "text",229          "primaryKey": false,230          "notNull": false231        },232        "lat": {233          "name": "lat",234          "type": "double precision",235          "primaryKey": false,236          "notNull": false237        },238        "lng": {239          "name": "lng",240          "type": "double precision",241          "primaryKey": false,242          "notNull": false243        },244        "geo_precision": {245          "name": "geo_precision",246          "type": "text",247          "primaryKey": false,248          "notNull": true,249          "default": "'city'"250        },251        "availability_zones": {252          "name": "availability_zones",253          "type": "integer",254          "primaryKey": false,255          "notNull": false256        },257        "launched_on": {258          "name": "launched_on",259          "type": "text",260          "primaryKey": false,261          "notNull": false262        },263        "status": {264          "name": "status",265          "type": "text",266          "primaryKey": false,267          "notNull": true,268          "default": "'operational'"269        },270        "is_sovereign": {271          "name": "is_sovereign",272          "type": "boolean",273          "primaryKey": false,274          "notNull": true,275          "default": false276        },277        "source_url": {278          "name": "source_url",279          "type": "text",280          "primaryKey": false,281          "notNull": false282        },283        "external_ids": {284          "name": "external_ids",285          "type": "jsonb",286          "primaryKey": false,287          "notNull": true,288          "default": "'{}'::jsonb"289        },290        "created_at": {291          "name": "created_at",292          "type": "timestamp with time zone",293          "primaryKey": false,294          "notNull": true,295          "default": "now()"296        },297        "updated_at": {298          "name": "updated_at",299          "type": "timestamp with time zone",300          "primaryKey": false,301          "notNull": true,302          "default": "now()"303        }304      },305      "indexes": {306        "cloud_regions_provider_code_uq": {307          "name": "cloud_regions_provider_code_uq",308          "columns": [309            {310              "expression": "provider_id",311              "isExpression": false,312              "asc": true,313              "nulls": "last"314            },315            {316              "expression": "code",317              "isExpression": false,318              "asc": true,319              "nulls": "last"320            }321          ],322          "isUnique": true,323          "concurrently": false,324          "method": "btree",325          "with": {}326        },327        "cloud_regions_country_idx": {328          "name": "cloud_regions_country_idx",329          "columns": [330            {331              "expression": "country_iso2",332              "isExpression": false,333              "asc": true,334              "nulls": "last"335            }336          ],337          "isUnique": false,338          "concurrently": false,339          "method": "btree",340          "with": {}341        }342      },343      "foreignKeys": {344        "cloud_regions_provider_id_operators_id_fk": {345          "name": "cloud_regions_provider_id_operators_id_fk",346          "tableFrom": "cloud_regions",347          "tableTo": "operators",348          "columnsFrom": [349            "provider_id"350          ],351          "columnsTo": [352            "id"353          ],354          "onDelete": "no action",355          "onUpdate": "no action"356        },357        "cloud_regions_country_iso2_countries_iso2_fk": {358          "name": "cloud_regions_country_iso2_countries_iso2_fk",359          "tableFrom": "cloud_regions",360          "tableTo": "countries",361          "columnsFrom": [362            "country_iso2"363          ],364          "columnsTo": [365            "iso2"366          ],367          "onDelete": "no action",368          "onUpdate": "no action"369        },370        "cloud_regions_metro_id_metros_id_fk": {371          "name": "cloud_regions_metro_id_metros_id_fk",372          "tableFrom": "cloud_regions",373          "tableTo": "metros",374          "columnsFrom": [375            "metro_id"376          ],377          "columnsTo": [378            "id"379          ],380          "onDelete": "no action",381          "onUpdate": "no action"382        }383      },384      "compositePrimaryKeys": {},385      "uniqueConstraints": {386        "cloud_regions_slug_unique": {387          "name": "cloud_regions_slug_unique",388          "nullsNotDistinct": false,389          "columns": [390            "slug"391          ]392        }393      },394      "policies": {},395      "checkConstraints": {},396      "isRLSEnabled": false397    },398    "public.connector_runs": {399      "name": "connector_runs",400      "schema": "",401      "columns": {402        "id": {403          "name": "id",404          "type": "text",405          "primaryKey": true,406          "notNull": true407        },408        "connector_id": {409          "name": "connector_id",410          "type": "text",411          "primaryKey": false,412          "notNull": true413        },414        "task": {415          "name": "task",416          "type": "text",417          "primaryKey": false,418          "notNull": true,419          "default": "'crawl'"420        },421        "started_at": {422          "name": "started_at",423          "type": "timestamp with time zone",424          "primaryKey": false,425          "notNull": true,426          "default": "now()"427        },428        "finished_at": {429          "name": "finished_at",430          "type": "timestamp with time zone",431          "primaryKey": false,432          "notNull": false433        },434        "status": {435          "name": "status",436          "type": "text",437          "primaryKey": false,438          "notNull": true,439          "default": "'running'"440        },441        "stats": {442          "name": "stats",443          "type": "jsonb",444          "primaryKey": false,445          "notNull": true,446          "default": "'{}'::jsonb"447        },448        "error": {449          "name": "error",450          "type": "text",451          "primaryKey": false,452          "notNull": false453        },454        "log": {455          "name": "log",456          "type": "jsonb",457          "primaryKey": false,458          "notNull": true,459          "default": "'[]'::jsonb"460        }461      },462      "indexes": {463        "connector_runs_connector_idx": {464          "name": "connector_runs_connector_idx",465          "columns": [466            {467              "expression": "connector_id",468              "isExpression": false,469              "asc": true,470              "nulls": "last"471            },472            {473              "expression": "started_at",474              "isExpression": false,475              "asc": true,476              "nulls": "last"477            }478          ],479          "isUnique": false,480          "concurrently": false,481          "method": "btree",482          "with": {}483        }484      },485      "foreignKeys": {},486      "compositePrimaryKeys": {},487      "uniqueConstraints": {},488      "policies": {},489      "checkConstraints": {},490      "isRLSEnabled": false491    },492    "public.connectors": {493      "name": "connectors",494      "schema": "",495      "columns": {496        "id": {497          "name": "id",498          "type": "text",499          "primaryKey": true,500          "notNull": true501        },502        "source_name": {503          "name": "source_name",504          "type": "text",505          "primaryKey": false,506          "notNull": true507        },508        "domain": {509          "name": "domain",510          "type": "text",511          "primaryKey": false,512          "notNull": true513        },514        "kind": {515          "name": "kind",516          "type": "text",517          "primaryKey": false,518          "notNull": true519        },520        "mode": {521          "name": "mode",522          "type": "text",523          "primaryKey": false,524          "notNull": true525        },526        "enabled": {527          "name": "enabled",528          "type": "boolean",529          "primaryKey": false,530          "notNull": true,531          "default": true532        },533        "paused": {534          "name": "paused",535          "type": "boolean",536          "primaryKey": false,537          "notNull": true,538          "default": false539        },540        "config": {541          "name": "config",542          "type": "jsonb",543          "primaryKey": false,544          "notNull": true,545          "default": "'{}'::jsonb"546        },547        "parser_version": {548          "name": "parser_version",549          "type": "text",550          "primaryKey": false,551          "notNull": true,552          "default": "'v1'"553        },554        "schedule": {555          "name": "schedule",556          "type": "jsonb",557          "primaryKey": false,558          "notNull": true,559          "default": "'{}'::jsonb"560        },561        "health": {562          "name": "health",563          "type": "text",564          "primaryKey": false,565          "notNull": true,566          "default": "'never_run'"567        },568        "last_run_at": {569          "name": "last_run_at",570          "type": "timestamp with time zone",571          "primaryKey": false,572          "notNull": false573        },574        "last_status": {575          "name": "last_status",576          "type": "text",577          "primaryKey": false,578          "notNull": false579        },580        "last_error": {581          "name": "last_error",582          "type": "text",583          "primaryKey": false,584          "notNull": false585        },586        "next_run_at": {587          "name": "next_run_at",588          "type": "timestamp with time zone",589          "primaryKey": false,590          "notNull": false591        },592        "stats": {593          "name": "stats",594          "type": "jsonb",595          "primaryKey": false,596          "notNull": true,597          "default": "'{}'::jsonb"598        },599        "created_at": {600          "name": "created_at",601          "type": "timestamp with time zone",602          "primaryKey": false,603          "notNull": true,604          "default": "now()"605        },606        "updated_at": {607          "name": "updated_at",608          "type": "timestamp with time zone",609          "primaryKey": false,610          "notNull": true,611          "default": "now()"612        }613      },614      "indexes": {},615      "foreignKeys": {},616      "compositePrimaryKeys": {},617      "uniqueConstraints": {},618      "policies": {},619      "checkConstraints": {},620      "isRLSEnabled": false621    },622    "public.countries": {623      "name": "countries",624      "schema": "",625      "columns": {626        "iso2": {627          "name": "iso2",628          "type": "text",629          "primaryKey": true,630          "notNull": true631        },632        "iso3": {633          "name": "iso3",634          "type": "text",635          "primaryKey": false,636          "notNull": false637        },638        "slug": {639          "name": "slug",640          "type": "text",641          "primaryKey": false,642          "notNull": true643        },644        "name": {645          "name": "name",646          "type": "text",647          "primaryKey": false,648          "notNull": true649        },650        "region": {651          "name": "region",652          "type": "text",653          "primaryKey": false,654          "notNull": false655        },656        "subregion": {657          "name": "subregion",658          "type": "text",659          "primaryKey": false,660          "notNull": false661        },662        "population": {663          "name": "population",664          "type": "bigint",665          "primaryKey": false,666          "notNull": false667        },668        "gdp_usd": {669          "name": "gdp_usd",670          "type": "double precision",671          "primaryKey": false,672          "notNull": false673        },674        "electricity_twh": {675          "name": "electricity_twh",676          "type": "double precision",677          "primaryKey": false,678          "notNull": false679        },680        "renewable_share": {681          "name": "renewable_share",682          "type": "double precision",683          "primaryKey": false,684          "notNull": false685        },686        "stats_year": {687          "name": "stats_year",688          "type": "integer",689          "primaryKey": false,690          "notNull": false691        },692        "lat": {693          "name": "lat",694          "type": "double precision",695          "primaryKey": false,696          "notNull": false697        },698        "lng": {699          "name": "lng",700          "type": "double precision",701          "primaryKey": false,702          "notNull": false703        },704        "stats": {705          "name": "stats",706          "type": "jsonb",707          "primaryKey": false,708          "notNull": true,709          "default": "'{}'::jsonb"710        },711        "updated_at": {712          "name": "updated_at",713          "type": "timestamp with time zone",714          "primaryKey": false,715          "notNull": true,716          "default": "now()"717        }718      },719      "indexes": {},720      "foreignKeys": {},721      "compositePrimaryKeys": {},722      "uniqueConstraints": {723        "countries_slug_unique": {724          "name": "countries_slug_unique",725          "nullsNotDistinct": false,726          "columns": [727            "slug"728          ]729        }730      },731      "policies": {},732      "checkConstraints": {},733      "isRLSEnabled": false734    },735    "public.daily_metrics": {736      "name": "daily_metrics",737      "schema": "",738      "columns": {739        "day": {740          "name": "day",741          "type": "date",742          "primaryKey": false,743          "notNull": true744        },745        "metric": {746          "name": "metric",747          "type": "text",748          "primaryKey": false,749          "notNull": true750        },751        "dim": {752          "name": "dim",753          "type": "text",754          "primaryKey": false,755          "notNull": true,756          "default": "'global'"757        },758        "value": {759          "name": "value",760          "type": "double precision",761          "primaryKey": false,762          "notNull": true763        }764      },765      "indexes": {},766      "foreignKeys": {},767      "compositePrimaryKeys": {768        "daily_metrics_day_metric_dim_pk": {769          "name": "daily_metrics_day_metric_dim_pk",770          "columns": [771            "day",772            "metric",773            "dim"774          ]775        }776      },777      "uniqueConstraints": {},778      "policies": {},779      "checkConstraints": {},780      "isRLSEnabled": false781    },782    "public.document_versions": {783      "name": "document_versions",784      "schema": "",785      "columns": {786        "id": {787          "name": "id",788          "type": "text",789          "primaryKey": true,790          "notNull": true791        },792        "document_id": {793          "name": "document_id",794          "type": "text",795          "primaryKey": false,796          "notNull": true797        },798        "content_hash": {799          "name": "content_hash",800          "type": "text",801          "primaryKey": false,802          "notNull": true803        },804        "fetched_at": {805          "name": "fetched_at",806          "type": "timestamp with time zone",807          "primaryKey": false,808          "notNull": true,809          "default": "now()"810        },811        "fetch_level": {812          "name": "fetch_level",813          "type": "integer",814          "primaryKey": false,815          "notNull": true,816          "default": 1817        },818        "status_code": {819          "name": "status_code",820          "type": "integer",821          "primaryKey": false,822          "notNull": false823        },824        "size_bytes": {825          "name": "size_bytes",826          "type": "integer",827          "primaryKey": false,828          "notNull": false829        },830        "storage_key": {831          "name": "storage_key",832          "type": "text",833          "primaryKey": false,834          "notNull": false835        },836        "diff_summary": {837          "name": "diff_summary",838          "type": "jsonb",839          "primaryKey": false,840          "notNull": false841        },842        "detected_changes": {843          "name": "detected_changes",844          "type": "jsonb",845          "primaryKey": false,846          "notNull": true,847          "default": "'[]'::jsonb"848        },849        "significance": {850          "name": "significance",851          "type": "integer",852          "primaryKey": false,853          "notNull": true,854          "default": 0855        }856      },857      "indexes": {858        "document_versions_doc_idx": {859          "name": "document_versions_doc_idx",860          "columns": [861            {862              "expression": "document_id",863              "isExpression": false,864              "asc": true,865              "nulls": "last"866            },867            {868              "expression": "fetched_at",869              "isExpression": false,870              "asc": true,871              "nulls": "last"872            }873          ],874          "isUnique": false,875          "concurrently": false,876          "method": "btree",877          "with": {}878        }879      },880      "foreignKeys": {881        "document_versions_document_id_documents_id_fk": {882          "name": "document_versions_document_id_documents_id_fk",883          "tableFrom": "document_versions",884          "tableTo": "documents",885          "columnsFrom": [886            "document_id"887          ],888          "columnsTo": [889            "id"890          ],891          "onDelete": "cascade",892          "onUpdate": "no action"893        }894      },895      "compositePrimaryKeys": {},896      "uniqueConstraints": {},897      "policies": {},898      "checkConstraints": {},899      "isRLSEnabled": false900    },901    "public.documents": {902      "name": "documents",903      "schema": "",904      "columns": {905        "id": {906          "name": "id",907          "type": "text",908          "primaryKey": true,909          "notNull": true910        },911        "connector_id": {912          "name": "connector_id",913          "type": "text",914          "primaryKey": false,915          "notNull": true916        },917        "source_id": {918          "name": "source_id",919          "type": "text",920          "primaryKey": false,921          "notNull": true922        },923        "url": {924          "name": "url",925          "type": "text",926          "primaryKey": false,927          "notNull": true928        },929        "canonical_url": {930          "name": "canonical_url",931          "type": "text",932          "primaryKey": false,933          "notNull": true934        },935        "url_fingerprint": {936          "name": "url_fingerprint",937          "type": "text",938          "primaryKey": false,939          "notNull": true940        },941        "page_type": {942          "name": "page_type",943          "type": "text",944          "primaryKey": false,945          "notNull": true,946          "default": "'unknown'"947        },948        "classifier": {949          "name": "classifier",950          "type": "text",951          "primaryKey": false,952          "notNull": false953        },954        "fetch_level": {955          "name": "fetch_level",956          "type": "integer",957          "primaryKey": false,958          "notNull": true,959          "default": 1960        },961        "priority": {962          "name": "priority",963          "type": "integer",964          "primaryKey": false,965          "notNull": true,966          "default": 50967        },968        "content_hash": {969          "name": "content_hash",970          "type": "text",971          "primaryKey": false,972          "notNull": false973        },974        "etag": {975          "name": "etag",976          "type": "text",977          "primaryKey": false,978          "notNull": false979        },980        "last_modified": {981          "name": "last_modified",982          "type": "text",983          "primaryKey": false,984          "notNull": false985        },986        "status_code": {987          "name": "status_code",988          "type": "integer",989          "primaryKey": false,990          "notNull": false991        },992        "content_type": {993          "name": "content_type",994          "type": "text",995          "primaryKey": false,996          "notNull": false997        },998        "size_bytes": {999          "name": "size_bytes",1000          "type": "integer",1001          "primaryKey": false,1002          "notNull": false1003        },1004        "title": {1005          "name": "title",1006          "type": "text",1007          "primaryKey": false,1008          "notNull": false1009        },1010        "storage_key": {1011          "name": "storage_key",1012          "type": "text",1013          "primaryKey": false,1014          "notNull": false1015        },1016        "extractor_version": {1017          "name": "extractor_version",1018          "type": "text",1019          "primaryKey": false,1020          "notNull": false1021        },1022        "extract_ok": {1023          "name": "extract_ok",1024          "type": "boolean",1025          "primaryKey": false,1026          "notNull": false1027        },1028        "extract_count": {1029          "name": "extract_count",1030          "type": "integer",1031          "primaryKey": false,1032          "notNull": true,1033          "default": 01034        },1035        "error": {1036          "name": "error",1037          "type": "text",1038          "primaryKey": false,1039          "notNull": false1040        },1041        "error_count": {1042          "name": "error_count",1043          "type": "integer",1044          "primaryKey": false,1045          "notNull": true,1046          "default": 01047        },1048        "first_seen": {1049          "name": "first_seen",1050          "type": "timestamp with time zone",1051          "primaryKey": false,1052          "notNull": true,1053          "default": "now()"1054        },1055        "last_fetched": {1056          "name": "last_fetched",1057          "type": "timestamp with time zone",1058          "primaryKey": false,1059          "notNull": false1060        },1061        "last_changed": {1062          "name": "last_changed",1063          "type": "timestamp with time zone",1064          "primaryKey": false,1065          "notNull": false1066        },1067        "last_checked": {1068          "name": "last_checked",1069          "type": "timestamp with time zone",1070          "primaryKey": false,1071          "notNull": false1072        },1073        "next_check": {1074          "name": "next_check",1075          "type": "timestamp with time zone",1076          "primaryKey": false,1077          "notNull": false1078        },1079        "change_frequency_score": {1080          "name": "change_frequency_score",1081          "type": "real",1082          "primaryKey": false,1083          "notNull": true,1084          "default": 0.51085        },1086        "fetch_count": {1087          "name": "fetch_count",1088          "type": "integer",1089          "primaryKey": false,1090          "notNull": true,1091          "default": 01092        },1093        "change_count": {1094          "name": "change_count",1095          "type": "integer",1096          "primaryKey": false,1097          "notNull": true,1098          "default": 01099        },1100        "discovered_from": {1101          "name": "discovered_from",1102          "type": "text",1103          "primaryKey": false,1104          "notNull": false1105        },1106        "quarantined": {1107          "name": "quarantined",1108          "type": "boolean",1109          "primaryKey": false,1110          "notNull": true,1111          "default": false1112        },1113        "entity_refs": {1114          "name": "entity_refs",1115          "type": "jsonb",1116          "primaryKey": false,1117          "notNull": true,1118          "default": "'[]'::jsonb"1119        },1120        "updated_at": {1121          "name": "updated_at",1122          "type": "timestamp with time zone",1123          "primaryKey": false,1124          "notNull": true,1125          "default": "now()"1126        }1127      },1128      "indexes": {1129        "documents_fingerprint_uq": {1130          "name": "documents_fingerprint_uq",1131          "columns": [1132            {1133              "expression": "url_fingerprint",1134              "isExpression": false,1135              "asc": true,1136              "nulls": "last"1137            }1138          ],1139          "isUnique": true,1140          "concurrently": false,1141          "method": "btree",1142          "with": {}1143        },1144        "documents_connector_idx": {1145          "name": "documents_connector_idx",1146          "columns": [1147            {1148              "expression": "connector_id",1149              "isExpression": false,1150              "asc": true,1151              "nulls": "last"1152            }1153          ],1154          "isUnique": false,1155          "concurrently": false,1156          "method": "btree",1157          "with": {}1158        },1159        "documents_next_check_idx": {1160          "name": "documents_next_check_idx",1161          "columns": [1162            {1163              "expression": "next_check",1164              "isExpression": false,1165              "asc": true,1166              "nulls": "last"1167            }1168          ],1169          "isUnique": false,1170          "concurrently": false,1171          "method": "btree",1172          "with": {}1173        },1174        "documents_page_type_idx": {1175          "name": "documents_page_type_idx",1176          "columns": [1177            {1178              "expression": "page_type",1179              "isExpression": false,1180              "asc": true,1181              "nulls": "last"1182            }1183          ],1184          "isUnique": false,1185          "concurrently": false,1186          "method": "btree",1187          "with": {}1188        }1189      },1190      "foreignKeys": {},1191      "compositePrimaryKeys": {},1192      "uniqueConstraints": {},1193      "policies": {},1194      "checkConstraints": {},1195      "isRLSEnabled": false1196    },1197    "public.entity_keys": {1198      "name": "entity_keys",1199      "schema": "",1200      "columns": {1201        "key": {1202          "name": "key",1203          "type": "text",1204          "primaryKey": true,1205          "notNull": true1206        },1207        "entity_type": {1208          "name": "entity_type",1209          "type": "text",1210          "primaryKey": false,1211          "notNull": true1212        },1213        "entity_id": {1214          "name": "entity_id",1215          "type": "text",1216          "primaryKey": false,1217          "notNull": true1218        },1219        "connector_id": {1220          "name": "connector_id",1221          "type": "text",1222          "primaryKey": false,1223          "notNull": true1224        },1225        "created_at": {1226          "name": "created_at",1227          "type": "timestamp with time zone",1228          "primaryKey": false,1229          "notNull": true,1230          "default": "now()"1231        }1232      },1233      "indexes": {1234        "entity_keys_entity_idx": {1235          "name": "entity_keys_entity_idx",1236          "columns": [1237            {1238              "expression": "entity_type",1239              "isExpression": false,1240              "asc": true,1241              "nulls": "last"1242            },1243            {1244              "expression": "entity_id",1245              "isExpression": false,1246              "asc": true,1247              "nulls": "last"1248            }1249          ],1250          "isUnique": false,1251          "concurrently": false,1252          "method": "btree",1253          "with": {}1254        }1255      },1256      "foreignKeys": {},1257      "compositePrimaryKeys": {},1258      "uniqueConstraints": {},1259      "policies": {},1260      "checkConstraints": {},1261      "isRLSEnabled": false1262    },1263    "public.entity_matches": {1264      "name": "entity_matches",1265      "schema": "",1266      "columns": {1267        "id": {1268          "name": "id",1269          "type": "text",1270          "primaryKey": true,1271          "notNull": true1272        },1273        "connector_id": {1274          "name": "connector_id",1275          "type": "text",1276          "primaryKey": false,1277          "notNull": true1278        },1279        "candidate_key": {1280          "name": "candidate_key",1281          "type": "text",1282          "primaryKey": false,1283          "notNull": true1284        },1285        "candidate": {1286          "name": "candidate",1287          "type": "jsonb",1288          "primaryKey": false,1289          "notNull": true1290        },1291        "matched_facility_id": {1292          "name": "matched_facility_id",1293          "type": "text",1294          "primaryKey": false,1295          "notNull": false1296        },1297        "score": {1298          "name": "score",1299          "type": "real",1300          "primaryKey": false,1301          "notNull": true1302        },1303        "reasons": {1304          "name": "reasons",1305          "type": "text[]",1306          "primaryKey": false,1307          "notNull": true,1308          "default": "'{}'::text[]"1309        },1310        "status": {1311          "name": "status",1312          "type": "text",1313          "primaryKey": false,1314          "notNull": true,1315          "default": "'pending'"1316        },1317        "decided_by": {1318          "name": "decided_by",1319          "type": "text",1320          "primaryKey": false,1321          "notNull": false1322        },1323        "decided_at": {1324          "name": "decided_at",1325          "type": "timestamp with time zone",1326          "primaryKey": false,1327          "notNull": false1328        },1329        "created_at": {1330          "name": "created_at",1331          "type": "timestamp with time zone",1332          "primaryKey": false,1333          "notNull": true,1334          "default": "now()"1335        }1336      },1337      "indexes": {1338        "entity_matches_status_idx": {1339          "name": "entity_matches_status_idx",1340          "columns": [1341            {1342              "expression": "status",1343              "isExpression": false,1344              "asc": true,1345              "nulls": "last"1346            }1347          ],1348          "isUnique": false,1349          "concurrently": false,1350          "method": "btree",1351          "with": {}1352        },1353        "entity_matches_key_idx": {1354          "name": "entity_matches_key_idx",1355          "columns": [1356            {1357              "expression": "candidate_key",1358              "isExpression": false,1359              "asc": true,1360              "nulls": "last"1361            }1362          ],1363          "isUnique": false,1364          "concurrently": false,1365          "method": "btree",1366          "with": {}1367        }1368      },1369      "foreignKeys": {},1370      "compositePrimaryKeys": {},1371      "uniqueConstraints": {},1372      "policies": {},1373      "checkConstraints": {},1374      "isRLSEnabled": false1375    },1376    "public.events": {1377      "name": "events",1378      "schema": "",1379      "columns": {1380        "id": {1381          "name": "id",1382          "type": "text",1383          "primaryKey": true,1384          "notNull": true1385        },1386        "entity_type": {1387          "name": "entity_type",1388          "type": "text",1389          "primaryKey": false,1390          "notNull": true1391        },1392        "entity_id": {1393          "name": "entity_id",1394          "type": "text",1395          "primaryKey": false,1396          "notNull": false1397        },1398        "event_type": {1399          "name": "event_type",1400          "type": "text",1401          "primaryKey": false,1402          "notNull": true1403        },1404        "detected_at": {1405          "name": "detected_at",1406          "type": "timestamp with time zone",1407          "primaryKey": false,1408          "notNull": true,1409          "default": "now()"1410        },1411        "effective_date": {1412          "name": "effective_date",1413          "type": "text",1414          "primaryKey": false,1415          "notNull": false1416        },1417        "old_value": {1418          "name": "old_value",1419          "type": "jsonb",1420          "primaryKey": false,1421          "notNull": false1422        },1423        "new_value": {1424          "name": "new_value",1425          "type": "jsonb",1426          "primaryKey": false,1427          "notNull": false1428        },1429        "source_id": {1430          "name": "source_id",1431          "type": "text",1432          "primaryKey": false,1433          "notNull": true1434        },1435        "document_id": {1436          "name": "document_id",1437          "type": "text",1438          "primaryKey": false,1439          "notNull": false1440        },1441        "url": {1442          "name": "url",1443          "type": "text",1444          "primaryKey": false,1445          "notNull": true1446        },1447        "title": {1448          "name": "title",1449          "type": "text",1450          "primaryKey": false,1451          "notNull": true1452        },1453        "summary": {1454          "name": "summary",1455          "type": "text",1456          "primaryKey": false,1457          "notNull": false1458        },1459        "significance": {1460          "name": "significance",1461          "type": "integer",1462          "primaryKey": false,1463          "notNull": true,1464          "default": 301465        },1466        "confidence": {1467          "name": "confidence",1468          "type": "text",1469          "primaryKey": false,1470          "notNull": true,1471          "default": "'moderate'"1472        },1473        "review_status": {1474          "name": "review_status",1475          "type": "text",1476          "primaryKey": false,1477          "notNull": true,1478          "default": "'auto'"1479        },1480        "country_iso2": {1481          "name": "country_iso2",1482          "type": "text",1483          "primaryKey": false,1484          "notNull": false1485        },1486        "operator_id": {1487          "name": "operator_id",1488          "type": "text",1489          "primaryKey": false,1490          "notNull": false1491        },1492        "metro_id": {1493          "name": "metro_id",1494          "type": "text",1495          "primaryKey": false,1496          "notNull": false1497        },1498        "project_id": {1499          "name": "project_id",1500          "type": "text",1501          "primaryKey": false,1502          "notNull": false1503        },1504        "fingerprint": {1505          "name": "fingerprint",1506          "type": "text",1507          "primaryKey": false,1508          "notNull": true1509        }1510      },1511      "indexes": {1512        "events_fingerprint_uq": {1513          "name": "events_fingerprint_uq",1514          "columns": [1515            {1516              "expression": "fingerprint",1517              "isExpression": false,1518              "asc": true,1519              "nulls": "last"1520            }1521          ],1522          "isUnique": true,1523          "concurrently": false,1524          "method": "btree",1525          "with": {}1526        },1527        "events_detected_idx": {1528          "name": "events_detected_idx",1529          "columns": [1530            {1531              "expression": "detected_at",1532              "isExpression": false,1533              "asc": true,1534              "nulls": "last"1535            }1536          ],1537          "isUnique": false,1538          "concurrently": false,1539          "method": "btree",1540          "with": {}1541        },1542        "events_entity_idx": {1543          "name": "events_entity_idx",1544          "columns": [1545            {1546              "expression": "entity_type",1547              "isExpression": false,1548              "asc": true,1549              "nulls": "last"1550            },1551            {1552              "expression": "entity_id",1553              "isExpression": false,1554              "asc": true,1555              "nulls": "last"1556            }1557          ],1558          "isUnique": false,1559          "concurrently": false,1560          "method": "btree",1561          "with": {}1562        },1563        "events_country_idx": {1564          "name": "events_country_idx",1565          "columns": [1566            {1567              "expression": "country_iso2",1568              "isExpression": false,1569              "asc": true,1570              "nulls": "last"1571            }1572          ],1573          "isUnique": false,1574          "concurrently": false,1575          "method": "btree",1576          "with": {}1577        },1578        "events_operator_idx": {1579          "name": "events_operator_idx",1580          "columns": [1581            {1582              "expression": "operator_id",1583              "isExpression": false,1584              "asc": true,1585              "nulls": "last"1586            }1587          ],1588          "isUnique": false,1589          "concurrently": false,1590          "method": "btree",1591          "with": {}1592        },1593        "events_type_idx": {1594          "name": "events_type_idx",1595          "columns": [1596            {1597              "expression": "event_type",1598              "isExpression": false,1599              "asc": true,1600              "nulls": "last"1601            }1602          ],1603          "isUnique": false,1604          "concurrently": false,1605          "method": "btree",1606          "with": {}1607        }1608      },1609      "foreignKeys": {},1610      "compositePrimaryKeys": {},1611      "uniqueConstraints": {},1612      "policies": {},1613      "checkConstraints": {},1614      "isRLSEnabled": false1615    },1616    "public.facilities": {1617      "name": "facilities",1618      "schema": "",1619      "columns": {1620        "id": {1621          "name": "id",1622          "type": "text",1623          "primaryKey": true,1624          "notNull": true1625        },1626        "slug": {1627          "name": "slug",1628          "type": "text",1629          "primaryKey": false,1630          "notNull": true1631        },1632        "name": {1633          "name": "name",1634          "type": "text",1635          "primaryKey": false,1636          "notNull": true1637        },1638        "normalized_name": {1639          "name": "normalized_name",1640          "type": "text",1641          "primaryKey": false,1642          "notNull": true1643        },1644        "operator_id": {1645          "name": "operator_id",1646          "type": "text",1647          "primaryKey": false,1648          "notNull": false1649        },1650        "owner_id": {1651          "name": "owner_id",1652          "type": "text",1653          "primaryKey": false,1654          "notNull": false1655        },1656        "campus_id": {1657          "name": "campus_id",1658          "type": "text",1659          "primaryKey": false,1660          "notNull": false1661        },1662        "metro_id": {1663          "name": "metro_id",1664          "type": "text",1665          "primaryKey": false,1666          "notNull": false1667        },1668        "country_iso2": {1669          "name": "country_iso2",1670          "type": "text",1671          "primaryKey": false,1672          "notNull": false1673        },1674        "city": {1675          "name": "city",1676          "type": "text",1677          "primaryKey": false,1678          "notNull": false1679        },1680        "region_name": {1681          "name": "region_name",1682          "type": "text",1683          "primaryKey": false,1684          "notNull": false1685        },1686        "address": {1687          "name": "address",1688          "type": "text",1689          "primaryKey": false,1690          "notNull": false1691        },1692        "postal_code": {1693          "name": "postal_code",1694          "type": "text",1695          "primaryKey": false,1696          "notNull": false1697        },1698        "lat": {1699          "name": "lat",1700          "type": "double precision",1701          "primaryKey": false,1702          "notNull": false1703        },1704        "lng": {1705          "name": "lng",1706          "type": "double precision",1707          "primaryKey": false,1708          "notNull": false1709        },1710        "geo_precision": {1711          "name": "geo_precision",1712          "type": "text",1713          "primaryKey": false,1714          "notNull": true,1715          "default": "'unknown'"1716        },1717        "geo_source": {1718          "name": "geo_source",1719          "type": "text",1720          "primaryKey": false,1721          "notNull": false1722        },1723        "geohash": {1724          "name": "geohash",1725          "type": "text",1726          "primaryKey": false,1727          "notNull": false1728        },1729        "status": {1730          "name": "status",1731          "type": "text",1732          "primaryKey": false,1733          "notNull": true,1734          "default": "'unknown'"1735        },1736        "facility_type": {1737          "name": "facility_type",1738          "type": "text",1739          "primaryKey": false,1740          "notNull": true,1741          "default": "'unknown'"1742        },1743        "tier": {1744          "name": "tier",1745          "type": "text",1746          "primaryKey": false,1747          "notNull": false1748        },1749        "building_sqm": {1750          "name": "building_sqm",1751          "type": "double precision",1752          "primaryKey": false,1753          "notNull": false1754        },1755        "site_area_ha": {1756          "name": "site_area_ha",1757          "type": "double precision",1758          "primaryKey": false,1759          "notNull": false1760        },1761        "it_capacity_mw": {1762          "name": "it_capacity_mw",1763          "type": "double precision",1764          "primaryKey": false,1765          "notNull": false1766        },1767        "total_power_mw": {1768          "name": "total_power_mw",1769          "type": "double precision",1770          "primaryKey": false,1771          "notNull": false1772        },1773        "planned_power_mw": {1774          "name": "planned_power_mw",1775          "type": "double precision",1776          "primaryKey": false,1777          "notNull": false1778        },1779        "mw_is_estimate": {1780          "name": "mw_is_estimate",1781          "type": "boolean",1782          "primaryKey": false,1783          "notNull": true,1784          "default": false1785        },1786        "rack_count": {1787          "name": "rack_count",1788          "type": "integer",1789          "primaryKey": false,1790          "notNull": false1791        },1792        "pue": {1793          "name": "pue",1794          "type": "real",1795          "primaryKey": false,1796          "notNull": false1797        },1798        "cooling_type": {1799          "name": "cooling_type",1800          "type": "text",1801          "primaryKey": false,1802          "notNull": false1803        },1804        "renewable_claim": {1805          "name": "renewable_claim",1806          "type": "text",1807          "primaryKey": false,1808          "notNull": false1809        },1810        "opened_on": {1811          "name": "opened_on",1812          "type": "text",1813          "primaryKey": false,1814          "notNull": false1815        },1816        "construction_started_on": {1817          "name": "construction_started_on",1818          "type": "text",1819          "primaryKey": false,1820          "notNull": false1821        },1822        "announced_on": {1823          "name": "announced_on",1824          "type": "text",1825          "primaryKey": false,1826          "notNull": false1827        },1828        "website": {1829          "name": "website",1830          "type": "text",1831          "primaryKey": false,1832          "notNull": false1833        },1834        "description": {1835          "name": "description",1836          "type": "text",1837          "primaryKey": false,1838          "notNull": false1839        },1840        "is_ai": {1841          "name": "is_ai",1842          "type": "boolean",1843          "primaryKey": false,1844          "notNull": true,1845          "default": false1846        },1847        "is_hyperscale": {1848          "name": "is_hyperscale",1849          "type": "boolean",1850          "primaryKey": false,1851          "notNull": true,1852          "default": false1853        },1854        "certifications": {1855          "name": "certifications",1856          "type": "text[]",1857          "primaryKey": false,1858          "notNull": true,1859          "default": "'{}'::text[]"1860        },1861        "carriers_count": {1862          "name": "carriers_count",1863          "type": "integer",1864          "primaryKey": false,1865          "notNull": false1866        },1867        "ixp_count": {1868          "name": "ixp_count",1869          "type": "integer",1870          "primaryKey": false,1871          "notNull": false1872        },1873        "networks_count": {1874          "name": "networks_count",1875          "type": "integer",1876          "primaryKey": false,1877          "notNull": false1878        },1879        "confidence": {1880          "name": "confidence",1881          "type": "text",1882          "primaryKey": false,1883          "notNull": true,1884          "default": "'unverified'"1885        },1886        "completeness": {1887          "name": "completeness",1888          "type": "integer",1889          "primaryKey": false,1890          "notNull": true,1891          "default": 01892        },1893        "external_ids": {1894          "name": "external_ids",1895          "type": "jsonb",1896          "primaryKey": false,1897          "notNull": true,1898          "default": "'{}'::jsonb"1899        },1900        "source_count": {1901          "name": "source_count",1902          "type": "integer",1903          "primaryKey": false,1904          "notNull": true,1905          "default": 01906        },1907        "first_seen": {1908          "name": "first_seen",1909          "type": "timestamp with time zone",1910          "primaryKey": false,1911          "notNull": true,1912          "default": "now()"1913        },1914        "last_verified": {1915          "name": "last_verified",1916          "type": "timestamp with time zone",1917          "primaryKey": false,1918          "notNull": false1919        },1920        "merged_into": {1921          "name": "merged_into",1922          "type": "text",1923          "primaryKey": false,1924          "notNull": false1925        },1926        "created_at": {1927          "name": "created_at",1928          "type": "timestamp with time zone",1929          "primaryKey": false,1930          "notNull": true,1931          "default": "now()"1932        },1933        "updated_at": {1934          "name": "updated_at",1935          "type": "timestamp with time zone",1936          "primaryKey": false,1937          "notNull": true,1938          "default": "now()"1939        }1940      },1941      "indexes": {1942        "facilities_country_idx": {1943          "name": "facilities_country_idx",1944          "columns": [1945            {1946              "expression": "country_iso2",1947              "isExpression": false,1948              "asc": true,1949              "nulls": "last"1950            }1951          ],1952          "isUnique": false,1953          "concurrently": false,1954          "method": "btree",1955          "with": {}1956        },1957        "facilities_operator_idx": {1958          "name": "facilities_operator_idx",1959          "columns": [1960            {1961              "expression": "operator_id",1962              "isExpression": false,1963              "asc": true,1964              "nulls": "last"1965            }1966          ],1967          "isUnique": false,1968          "concurrently": false,1969          "method": "btree",1970          "with": {}1971        },1972        "facilities_metro_idx": {1973          "name": "facilities_metro_idx",1974          "columns": [1975            {1976              "expression": "metro_id",1977              "isExpression": false,1978              "asc": true,1979              "nulls": "last"1980            }1981          ],1982          "isUnique": false,1983          "concurrently": false,1984          "method": "btree",1985          "with": {}1986        },1987        "facilities_status_idx": {1988          "name": "facilities_status_idx",1989          "columns": [1990            {1991              "expression": "status",1992              "isExpression": false,1993              "asc": true,1994              "nulls": "last"1995            }1996          ],1997          "isUnique": false,1998          "concurrently": false,1999          "method": "btree",2000          "with": {}2001        },2002        "facilities_type_idx": {2003          "name": "facilities_type_idx",2004          "columns": [2005            {2006              "expression": "facility_type",2007              "isExpression": false,2008              "asc": true,2009              "nulls": "last"2010            }2011          ],2012          "isUnique": false,2013          "concurrently": false,2014          "method": "btree",2015          "with": {}2016        },2017        "facilities_geohash_idx": {2018          "name": "facilities_geohash_idx",2019          "columns": [2020            {2021              "expression": "geohash",2022              "isExpression": false,2023              "asc": true,2024              "nulls": "last"2025            }2026          ],2027          "isUnique": false,2028          "concurrently": false,2029          "method": "btree",2030          "with": {}2031        },2032        "facilities_norm_idx": {2033          "name": "facilities_norm_idx",2034          "columns": [2035            {2036              "expression": "normalized_name",2037              "isExpression": false,2038              "asc": true,2039              "nulls": "last"2040            }2041          ],2042          "isUnique": false,2043          "concurrently": false,2044          "method": "btree",2045          "with": {}2046        },2047        "facilities_updated_idx": {2048          "name": "facilities_updated_idx",2049          "columns": [2050            {2051              "expression": "updated_at",2052              "isExpression": false,2053              "asc": true,2054              "nulls": "last"2055            }2056          ],2057          "isUnique": false,2058          "concurrently": false,2059          "method": "btree",2060          "with": {}2061        }2062      },2063      "foreignKeys": {2064        "facilities_operator_id_operators_id_fk": {2065          "name": "facilities_operator_id_operators_id_fk",2066          "tableFrom": "facilities",2067          "tableTo": "operators",2068          "columnsFrom": [2069            "operator_id"2070          ],2071          "columnsTo": [2072            "id"2073          ],2074          "onDelete": "no action",2075          "onUpdate": "no action"2076        },2077        "facilities_owner_id_operators_id_fk": {2078          "name": "facilities_owner_id_operators_id_fk",2079          "tableFrom": "facilities",2080          "tableTo": "operators",2081          "columnsFrom": [2082            "owner_id"2083          ],2084          "columnsTo": [2085            "id"2086          ],2087          "onDelete": "no action",2088          "onUpdate": "no action"2089        },2090        "facilities_campus_id_campuses_id_fk": {2091          "name": "facilities_campus_id_campuses_id_fk",2092          "tableFrom": "facilities",2093          "tableTo": "campuses",2094          "columnsFrom": [2095            "campus_id"2096          ],2097          "columnsTo": [2098            "id"2099          ],2100          "onDelete": "no action",2101          "onUpdate": "no action"2102        },2103        "facilities_metro_id_metros_id_fk": {2104          "name": "facilities_metro_id_metros_id_fk",2105          "tableFrom": "facilities",2106          "tableTo": "metros",2107          "columnsFrom": [2108            "metro_id"2109          ],2110          "columnsTo": [2111            "id"2112          ],2113          "onDelete": "no action",2114          "onUpdate": "no action"2115        },2116        "facilities_country_iso2_countries_iso2_fk": {2117          "name": "facilities_country_iso2_countries_iso2_fk",2118          "tableFrom": "facilities",2119          "tableTo": "countries",2120          "columnsFrom": [2121            "country_iso2"2122          ],2123          "columnsTo": [2124            "iso2"2125          ],2126          "onDelete": "no action",2127          "onUpdate": "no action"2128        }2129      },2130      "compositePrimaryKeys": {},2131      "uniqueConstraints": {2132        "facilities_slug_unique": {2133          "name": "facilities_slug_unique",2134          "nullsNotDistinct": false,2135          "columns": [2136            "slug"2137          ]2138        }2139      },2140      "policies": {},2141      "checkConstraints": {},2142      "isRLSEnabled": false2143    },2144    "public.facility_aliases": {2145      "name": "facility_aliases",2146      "schema": "",2147      "columns": {2148        "facility_id": {2149          "name": "facility_id",2150          "type": "text",2151          "primaryKey": false,2152          "notNull": true2153        },2154        "alias": {2155          "name": "alias",2156          "type": "text",2157          "primaryKey": false,2158          "notNull": true2159        },2160        "normalized": {2161          "name": "normalized",2162          "type": "text",2163          "primaryKey": false,2164          "notNull": true2165        },2166        "source_id": {2167          "name": "source_id",2168          "type": "text",2169          "primaryKey": false,2170          "notNull": false2171        }2172      },2173      "indexes": {2174        "facility_aliases_norm_idx": {2175          "name": "facility_aliases_norm_idx",2176          "columns": [2177            {2178              "expression": "normalized",2179              "isExpression": false,2180              "asc": true,2181              "nulls": "last"2182            }2183          ],2184          "isUnique": false,2185          "concurrently": false,2186          "method": "btree",2187          "with": {}2188        }2189      },2190      "foreignKeys": {2191        "facility_aliases_facility_id_facilities_id_fk": {2192          "name": "facility_aliases_facility_id_facilities_id_fk",2193          "tableFrom": "facility_aliases",2194          "tableTo": "facilities",2195          "columnsFrom": [2196            "facility_id"2197          ],2198          "columnsTo": [2199            "id"2200          ],2201          "onDelete": "cascade",2202          "onUpdate": "no action"2203        }2204      },2205      "compositePrimaryKeys": {2206        "facility_aliases_facility_id_alias_pk": {2207          "name": "facility_aliases_facility_id_alias_pk",2208          "columns": [2209            "facility_id",2210            "alias"2211          ]2212        }2213      },2214      "uniqueConstraints": {},2215      "policies": {},2216      "checkConstraints": {},2217      "isRLSEnabled": false2218    },2219    "public.facility_ixps": {2220      "name": "facility_ixps",2221      "schema": "",2222      "columns": {2223        "facility_id": {2224          "name": "facility_id",2225          "type": "text",2226          "primaryKey": false,2227          "notNull": true2228        },2229        "ixp_id": {2230          "name": "ixp_id",2231          "type": "text",2232          "primaryKey": false,2233          "notNull": true2234        },2235        "source_id": {2236          "name": "source_id",2237          "type": "text",2238          "primaryKey": false,2239          "notNull": false2240        }2241      },2242      "indexes": {},2243      "foreignKeys": {2244        "facility_ixps_facility_id_facilities_id_fk": {2245          "name": "facility_ixps_facility_id_facilities_id_fk",2246          "tableFrom": "facility_ixps",2247          "tableTo": "facilities",2248          "columnsFrom": [2249            "facility_id"2250          ],2251          "columnsTo": [2252            "id"2253          ],2254          "onDelete": "cascade",2255          "onUpdate": "no action"2256        },2257        "facility_ixps_ixp_id_ixps_id_fk": {2258          "name": "facility_ixps_ixp_id_ixps_id_fk",2259          "tableFrom": "facility_ixps",2260          "tableTo": "ixps",2261          "columnsFrom": [2262            "ixp_id"2263          ],2264          "columnsTo": [2265            "id"2266          ],2267          "onDelete": "cascade",2268          "onUpdate": "no action"2269        }2270      },2271      "compositePrimaryKeys": {2272        "facility_ixps_facility_id_ixp_id_pk": {2273          "name": "facility_ixps_facility_id_ixp_id_pk",2274          "columns": [2275            "facility_id",2276            "ixp_id"2277          ]2278        }2279      },2280      "uniqueConstraints": {},2281      "policies": {},2282      "checkConstraints": {},2283      "isRLSEnabled": false2284    },2285    "public.facility_tenants": {2286      "name": "facility_tenants",2287      "schema": "",2288      "columns": {2289        "facility_id": {2290          "name": "facility_id",2291          "type": "text",2292          "primaryKey": false,2293          "notNull": true2294        },2295        "operator_id": {2296          "name": "operator_id",2297          "type": "text",2298          "primaryKey": false,2299          "notNull": true2300        },2301        "role": {2302          "name": "role",2303          "type": "text",2304          "primaryKey": false,2305          "notNull": true,2306          "default": "'carrier'"2307        },2308        "asn": {2309          "name": "asn",2310          "type": "integer",2311          "primaryKey": false,2312          "notNull": false2313        },2314        "source_id": {2315          "name": "source_id",2316          "type": "text",2317          "primaryKey": false,2318          "notNull": false2319        }2320      },2321      "indexes": {2322        "facility_tenants_operator_idx": {2323          "name": "facility_tenants_operator_idx",2324          "columns": [2325            {2326              "expression": "operator_id",2327              "isExpression": false,2328              "asc": true,2329              "nulls": "last"2330            }2331          ],2332          "isUnique": false,2333          "concurrently": false,2334          "method": "btree",2335          "with": {}2336        }2337      },2338      "foreignKeys": {2339        "facility_tenants_facility_id_facilities_id_fk": {2340          "name": "facility_tenants_facility_id_facilities_id_fk",2341          "tableFrom": "facility_tenants",2342          "tableTo": "facilities",2343          "columnsFrom": [2344            "facility_id"2345          ],2346          "columnsTo": [2347            "id"2348          ],2349          "onDelete": "cascade",2350          "onUpdate": "no action"2351        },2352        "facility_tenants_operator_id_operators_id_fk": {2353          "name": "facility_tenants_operator_id_operators_id_fk",2354          "tableFrom": "facility_tenants",2355          "tableTo": "operators",2356          "columnsFrom": [2357            "operator_id"2358          ],2359          "columnsTo": [2360            "id"2361          ],2362          "onDelete": "cascade",2363          "onUpdate": "no action"2364        }2365      },2366      "compositePrimaryKeys": {2367        "facility_tenants_facility_id_operator_id_role_pk": {2368          "name": "facility_tenants_facility_id_operator_id_role_pk",2369          "columns": [2370            "facility_id",2371            "operator_id",2372            "role"2373          ]2374        }2375      },2376      "uniqueConstraints": {},2377      "policies": {},2378      "checkConstraints": {},2379      "isRLSEnabled": false2380    },2381    "public.ixps": {2382      "name": "ixps",2383      "schema": "",2384      "columns": {2385        "id": {2386          "name": "id",2387          "type": "text",2388          "primaryKey": true,2389          "notNull": true2390        },2391        "slug": {2392          "name": "slug",2393          "type": "text",2394          "primaryKey": false,2395          "notNull": true2396        },2397        "name": {2398          "name": "name",2399          "type": "text",2400          "primaryKey": false,2401          "notNull": true2402        },2403        "name_long": {2404          "name": "name_long",2405          "type": "text",2406          "primaryKey": false,2407          "notNull": false2408        },2409        "city": {2410          "name": "city",2411          "type": "text",2412          "primaryKey": false,2413          "notNull": false2414        },2415        "country_iso2": {2416          "name": "country_iso2",2417          "type": "text",2418          "primaryKey": false,2419          "notNull": false2420        },2421        "metro_id": {2422          "name": "metro_id",2423          "type": "text",2424          "primaryKey": false,2425          "notNull": false2426        },2427        "region_continent": {2428          "name": "region_continent",2429          "type": "text",2430          "primaryKey": false,2431          "notNull": false2432        },2433        "website": {2434          "name": "website",2435          "type": "text",2436          "primaryKey": false,2437          "notNull": false2438        },2439        "network_count": {2440          "name": "network_count",2441          "type": "integer",2442          "primaryKey": false,2443          "notNull": false2444        },2445        "external_ids": {2446          "name": "external_ids",2447          "type": "jsonb",2448          "primaryKey": false,2449          "notNull": true,2450          "default": "'{}'::jsonb"2451        },2452        "created_at": {2453          "name": "created_at",2454          "type": "timestamp with time zone",2455          "primaryKey": false,2456          "notNull": true,2457          "default": "now()"2458        },2459        "updated_at": {2460          "name": "updated_at",2461          "type": "timestamp with time zone",2462          "primaryKey": false,2463          "notNull": true,2464          "default": "now()"2465        }2466      },2467      "indexes": {},2468      "foreignKeys": {2469        "ixps_country_iso2_countries_iso2_fk": {2470          "name": "ixps_country_iso2_countries_iso2_fk",2471          "tableFrom": "ixps",2472          "tableTo": "countries",2473          "columnsFrom": [2474            "country_iso2"2475          ],2476          "columnsTo": [2477            "iso2"2478          ],2479          "onDelete": "no action",2480          "onUpdate": "no action"2481        },2482        "ixps_metro_id_metros_id_fk": {2483          "name": "ixps_metro_id_metros_id_fk",2484          "tableFrom": "ixps",2485          "tableTo": "metros",2486          "columnsFrom": [2487            "metro_id"2488          ],2489          "columnsTo": [2490            "id"2491          ],2492          "onDelete": "no action",2493          "onUpdate": "no action"2494        }2495      },2496      "compositePrimaryKeys": {},2497      "uniqueConstraints": {2498        "ixps_slug_unique": {2499          "name": "ixps_slug_unique",2500          "nullsNotDistinct": false,2501          "columns": [2502            "slug"2503          ]2504        }2505      },2506      "policies": {},2507      "checkConstraints": {},2508      "isRLSEnabled": false2509    },2510    "public.metros": {2511      "name": "metros",2512      "schema": "",2513      "columns": {2514        "id": {2515          "name": "id",2516          "type": "text",2517          "primaryKey": true,2518          "notNull": true2519        },2520        "slug": {2521          "name": "slug",2522          "type": "text",2523          "primaryKey": false,2524          "notNull": true2525        },2526        "name": {2527          "name": "name",2528          "type": "text",2529          "primaryKey": false,2530          "notNull": true2531        },2532        "country_iso2": {2533          "name": "country_iso2",2534          "type": "text",2535          "primaryKey": false,2536          "notNull": true2537        },2538        "region_name": {2539          "name": "region_name",2540          "type": "text",2541          "primaryKey": false,2542          "notNull": false2543        },2544        "lat": {2545          "name": "lat",2546          "type": "double precision",2547          "primaryKey": false,2548          "notNull": true2549        },2550        "lng": {2551          "name": "lng",2552          "type": "double precision",2553          "primaryKey": false,2554          "notNull": true2555        },2556        "radius_km": {2557          "name": "radius_km",2558          "type": "real",2559          "primaryKey": false,2560          "notNull": true,2561          "default": 602562        },2563        "aliases": {2564          "name": "aliases",2565          "type": "text[]",2566          "primaryKey": false,2567          "notNull": true,2568          "default": "'{}'::text[]"2569        },2570        "description": {2571          "name": "description",2572          "type": "text",2573          "primaryKey": false,2574          "notNull": false2575        },2576        "stats": {2577          "name": "stats",2578          "type": "jsonb",2579          "primaryKey": false,2580          "notNull": true,2581          "default": "'{}'::jsonb"2582        },2583        "created_at": {2584          "name": "created_at",2585          "type": "timestamp with time zone",2586          "primaryKey": false,2587          "notNull": true,2588          "default": "now()"2589        },2590        "updated_at": {2591          "name": "updated_at",2592          "type": "timestamp with time zone",2593          "primaryKey": false,2594          "notNull": true,2595          "default": "now()"2596        }2597      },2598      "indexes": {2599        "metros_country_idx": {2600          "name": "metros_country_idx",2601          "columns": [2602            {2603              "expression": "country_iso2",2604              "isExpression": false,2605              "asc": true,2606              "nulls": "last"2607            }2608          ],2609          "isUnique": false,2610          "concurrently": false,2611          "method": "btree",2612          "with": {}2613        }2614      },2615      "foreignKeys": {2616        "metros_country_iso2_countries_iso2_fk": {2617          "name": "metros_country_iso2_countries_iso2_fk",2618          "tableFrom": "metros",2619          "tableTo": "countries",2620          "columnsFrom": [2621            "country_iso2"2622          ],2623          "columnsTo": [2624            "iso2"2625          ],2626          "onDelete": "no action",2627          "onUpdate": "no action"2628        }2629      },2630      "compositePrimaryKeys": {},2631      "uniqueConstraints": {2632        "metros_slug_unique": {2633          "name": "metros_slug_unique",2634          "nullsNotDistinct": false,2635          "columns": [2636            "slug"2637          ]2638        }2639      },2640      "policies": {},2641      "checkConstraints": {},2642      "isRLSEnabled": false2643    },2644    "public.news_items": {2645      "name": "news_items",2646      "schema": "",2647      "columns": {2648        "id": {2649          "name": "id",2650          "type": "text",2651          "primaryKey": true,2652          "notNull": true2653        },2654        "source_id": {2655          "name": "source_id",2656          "type": "text",2657          "primaryKey": false,2658          "notNull": true2659        },2660        "connector_id": {2661          "name": "connector_id",2662          "type": "text",2663          "primaryKey": false,2664          "notNull": true2665        },2666        "url": {2667          "name": "url",2668          "type": "text",2669          "primaryKey": false,2670          "notNull": true2671        },2672        "title": {2673          "name": "title",2674          "type": "text",2675          "primaryKey": false,2676          "notNull": true2677        },2678        "published_at": {2679          "name": "published_at",2680          "type": "timestamp with time zone",2681          "primaryKey": false,2682          "notNull": false2683        },2684        "summary": {2685          "name": "summary",2686          "type": "text",2687          "primaryKey": false,2688          "notNull": false2689        },2690        "page_type": {2691          "name": "page_type",2692          "type": "text",2693          "primaryKey": false,2694          "notNull": true,2695          "default": "'unknown'"2696        },2697        "event_type": {2698          "name": "event_type",2699          "type": "text",2700          "primaryKey": false,2701          "notNull": false2702        },2703        "mentions": {2704          "name": "mentions",2705          "type": "jsonb",2706          "primaryKey": false,2707          "notNull": true,2708          "default": "'{}'::jsonb"2709        },2710        "operator_ids": {2711          "name": "operator_ids",2712          "type": "text[]",2713          "primaryKey": false,2714          "notNull": true,2715          "default": "'{}'::text[]"2716        },2717        "country_iso2s": {2718          "name": "country_iso2s",2719          "type": "text[]",2720          "primaryKey": false,2721          "notNull": true,2722          "default": "'{}'::text[]"2723        },2724        "facility_ids": {2725          "name": "facility_ids",2726          "type": "text[]",2727          "primaryKey": false,2728          "notNull": true,2729          "default": "'{}'::text[]"2730        },2731        "project_id": {2732          "name": "project_id",2733          "type": "text",2734          "primaryKey": false,2735          "notNull": false2736        },2737        "mw": {2738          "name": "mw",2739          "type": "double precision",2740          "primaryKey": false,2741          "notNull": false2742        },2743        "significance": {2744          "name": "significance",2745          "type": "integer",2746          "primaryKey": false,2747          "notNull": true,2748          "default": 202749        },2750        "created_at": {2751          "name": "created_at",2752          "type": "timestamp with time zone",2753          "primaryKey": false,2754          "notNull": true,2755          "default": "now()"2756        }2757      },2758      "indexes": {2759        "news_items_published_idx": {2760          "name": "news_items_published_idx",2761          "columns": [2762            {2763              "expression": "published_at",2764              "isExpression": false,2765              "asc": true,2766              "nulls": "last"2767            }2768          ],2769          "isUnique": false,2770          "concurrently": false,2771          "method": "btree",2772          "with": {}2773        }2774      },2775      "foreignKeys": {},2776      "compositePrimaryKeys": {},2777      "uniqueConstraints": {2778        "news_items_url_unique": {2779          "name": "news_items_url_unique",2780          "nullsNotDistinct": false,2781          "columns": [2782            "url"2783          ]2784        }2785      },2786      "policies": {},2787      "checkConstraints": {},2788      "isRLSEnabled": false2789    },2790    "public.operators": {2791      "name": "operators",2792      "schema": "",2793      "columns": {2794        "id": {2795          "name": "id",2796          "type": "text",2797          "primaryKey": true,2798          "notNull": true2799        },2800        "slug": {2801          "name": "slug",2802          "type": "text",2803          "primaryKey": false,2804          "notNull": true2805        },2806        "name": {2807          "name": "name",2808          "type": "text",2809          "primaryKey": false,2810          "notNull": true2811        },2812        "normalized_name": {2813          "name": "normalized_name",2814          "type": "text",2815          "primaryKey": false,2816          "notNull": true2817        },2818        "kind": {2819          "name": "kind",2820          "type": "text",2821          "primaryKey": false,2822          "notNull": false2823        },2824        "website": {2825          "name": "website",2826          "type": "text",2827          "primaryKey": false,2828          "notNull": false2829        },2830        "hq_country_iso2": {2831          "name": "hq_country_iso2",2832          "type": "text",2833          "primaryKey": false,2834          "notNull": false2835        },2836        "hq_city": {2837          "name": "hq_city",2838          "type": "text",2839          "primaryKey": false,2840          "notNull": false2841        },2842        "parent_id": {2843          "name": "parent_id",2844          "type": "text",2845          "primaryKey": false,2846          "notNull": false2847        },2848        "description": {2849          "name": "description",2850          "type": "text",2851          "primaryKey": false,2852          "notNull": false2853        },2854        "aliases": {2855          "name": "aliases",2856          "type": "text[]",2857          "primaryKey": false,2858          "notNull": true,2859          "default": "'{}'::text[]"2860        },2861        "external_ids": {2862          "name": "external_ids",2863          "type": "jsonb",2864          "primaryKey": false,2865          "notNull": true,2866          "default": "'{}'::jsonb"2867        },2868        "is_cloud_provider": {2869          "name": "is_cloud_provider",2870          "type": "boolean",2871          "primaryKey": false,2872          "notNull": true,2873          "default": false2874        },2875        "is_carrier": {2876          "name": "is_carrier",2877          "type": "boolean",2878          "primaryKey": false,2879          "notNull": true,2880          "default": false2881        },2882        "stats": {2883          "name": "stats",2884          "type": "jsonb",2885          "primaryKey": false,2886          "notNull": true,2887          "default": "'{}'::jsonb"2888        },2889        "created_at": {2890          "name": "created_at",2891          "type": "timestamp with time zone",2892          "primaryKey": false,2893          "notNull": true,2894          "default": "now()"2895        },2896        "updated_at": {2897          "name": "updated_at",2898          "type": "timestamp with time zone",2899          "primaryKey": false,2900          "notNull": true,2901          "default": "now()"2902        }2903      },2904      "indexes": {2905        "operators_norm_idx": {2906          "name": "operators_norm_idx",2907          "columns": [2908            {2909              "expression": "normalized_name",2910              "isExpression": false,2911              "asc": true,2912              "nulls": "last"2913            }2914          ],2915          "isUnique": false,2916          "concurrently": false,2917          "method": "btree",2918          "with": {}2919        },2920        "operators_kind_idx": {2921          "name": "operators_kind_idx",2922          "columns": [2923            {2924              "expression": "kind",2925              "isExpression": false,2926              "asc": true,2927              "nulls": "last"2928            }2929          ],2930          "isUnique": false,2931          "concurrently": false,2932          "method": "btree",2933          "with": {}2934        }2935      },2936      "foreignKeys": {},2937      "compositePrimaryKeys": {},2938      "uniqueConstraints": {2939        "operators_slug_unique": {2940          "name": "operators_slug_unique",2941          "nullsNotDistinct": false,2942          "columns": [2943            "slug"2944          ]2945        }2946      },2947      "policies": {},2948      "checkConstraints": {},2949      "isRLSEnabled": false2950    },2951    "public.project_timeline": {2952      "name": "project_timeline",2953      "schema": "",2954      "columns": {2955        "id": {2956          "name": "id",2957          "type": "text",2958          "primaryKey": true,2959          "notNull": true2960        },2961        "project_id": {2962          "name": "project_id",2963          "type": "text",2964          "primaryKey": false,2965          "notNull": true2966        },2967        "event_date": {2968          "name": "event_date",2969          "type": "text",2970          "primaryKey": false,2971          "notNull": true2972        },2973        "event_type": {2974          "name": "event_type",2975          "type": "text",2976          "primaryKey": false,2977          "notNull": true2978        },2979        "description": {2980          "name": "description",2981          "type": "text",2982          "primaryKey": false,2983          "notNull": true2984        },2985        "source_id": {2986          "name": "source_id",2987          "type": "text",2988          "primaryKey": false,2989          "notNull": false2990        },2991        "document_id": {2992          "name": "document_id",2993          "type": "text",2994          "primaryKey": false,2995          "notNull": false2996        },2997        "url": {2998          "name": "url",2999          "type": "text",3000          "primaryKey": false,3001          "notNull": false3002        },3003        "created_at": {3004          "name": "created_at",3005          "type": "timestamp with time zone",3006          "primaryKey": false,3007          "notNull": true,3008          "default": "now()"3009        }3010      },3011      "indexes": {3012        "project_timeline_project_idx": {3013          "name": "project_timeline_project_idx",3014          "columns": [3015            {3016              "expression": "project_id",3017              "isExpression": false,3018              "asc": true,3019              "nulls": "last"3020            }3021          ],3022          "isUnique": false,3023          "concurrently": false,3024          "method": "btree",3025          "with": {}3026        }3027      },3028      "foreignKeys": {3029        "project_timeline_project_id_projects_id_fk": {3030          "name": "project_timeline_project_id_projects_id_fk",3031          "tableFrom": "project_timeline",3032          "tableTo": "projects",3033          "columnsFrom": [3034            "project_id"3035          ],3036          "columnsTo": [3037            "id"3038          ],3039          "onDelete": "cascade",3040          "onUpdate": "no action"3041        }3042      },3043      "compositePrimaryKeys": {},3044      "uniqueConstraints": {},3045      "policies": {},3046      "checkConstraints": {},3047      "isRLSEnabled": false3048    },3049    "public.projects": {3050      "name": "projects",3051      "schema": "",3052      "columns": {3053        "id": {3054          "name": "id",3055          "type": "text",3056          "primaryKey": true,3057          "notNull": true3058        },3059        "slug": {3060          "name": "slug",3061          "type": "text",3062          "primaryKey": false,3063          "notNull": true3064        },3065        "name": {3066          "name": "name",3067          "type": "text",3068          "primaryKey": false,3069          "notNull": true3070        },3071        "normalized_name": {3072          "name": "normalized_name",3073          "type": "text",3074          "primaryKey": false,3075          "notNull": true3076        },3077        "operator_id": {3078          "name": "operator_id",3079          "type": "text",3080          "primaryKey": false,3081          "notNull": false3082        },3083        "facility_id": {3084          "name": "facility_id",3085          "type": "text",3086          "primaryKey": false,3087          "notNull": false3088        },3089        "metro_id": {3090          "name": "metro_id",3091          "type": "text",3092          "primaryKey": false,3093          "notNull": false3094        },3095        "country_iso2": {3096          "name": "country_iso2",3097          "type": "text",3098          "primaryKey": false,3099          "notNull": false3100        },3101        "city": {3102          "name": "city",3103          "type": "text",3104          "primaryKey": false,3105          "notNull": false3106        },3107        "region_name": {3108          "name": "region_name",3109          "type": "text",3110          "primaryKey": false,3111          "notNull": false3112        },3113        "lat": {3114          "name": "lat",3115          "type": "double precision",3116          "primaryKey": false,3117          "notNull": false3118        },3119        "lng": {3120          "name": "lng",3121          "type": "double precision",3122          "primaryKey": false,3123          "notNull": false3124        },3125        "geo_precision": {3126          "name": "geo_precision",3127          "type": "text",3128          "primaryKey": false,3129          "notNull": true,3130          "default": "'unknown'"3131        },3132        "status": {3133          "name": "status",3134          "type": "text",3135          "primaryKey": false,3136          "notNull": true,3137          "default": "'announced'"3138        },3139        "announced_on": {3140          "name": "announced_on",3141          "type": "text",3142          "primaryKey": false,3143          "notNull": false3144        },3145        "expected_opening": {3146          "name": "expected_opening",3147          "type": "text",3148          "primaryKey": false,3149          "notNull": false3150        },3151        "planned_mw": {3152          "name": "planned_mw",3153          "type": "double precision",3154          "primaryKey": false,3155          "notNull": false3156        },3157        "investment_usd": {3158          "name": "investment_usd",3159          "type": "double precision",3160          "primaryKey": false,3161          "notNull": false3162        },3163        "investment_currency": {3164          "name": "investment_currency",3165          "type": "text",3166          "primaryKey": false,3167          "notNull": false3168        },3169        "investment_original": {3170          "name": "investment_original",3171          "type": "double precision",3172          "primaryKey": false,3173          "notNull": false3174        },3175        "acreage": {3176          "name": "acreage",3177          "type": "double precision",3178          "primaryKey": false,3179          "notNull": false3180        },3181        "phase_count": {3182          "name": "phase_count",3183          "type": "integer",3184          "primaryKey": false,3185          "notNull": false3186        },3187        "is_ai": {3188          "name": "is_ai",3189          "type": "boolean",3190          "primaryKey": false,3191          "notNull": true,3192          "default": false3193        },3194        "description": {3195          "name": "description",3196          "type": "text",3197          "primaryKey": false,3198          "notNull": false3199        },3200        "source_url": {3201          "name": "source_url",3202          "type": "text",3203          "primaryKey": false,3204          "notNull": false3205        },3206        "confidence": {3207          "name": "confidence",3208          "type": "text",3209          "primaryKey": false,3210          "notNull": true,3211          "default": "'moderate'"3212        },3213        "external_ids": {3214          "name": "external_ids",3215          "type": "jsonb",3216          "primaryKey": false,3217          "notNull": true,3218          "default": "'{}'::jsonb"3219        },3220        "last_update": {3221          "name": "last_update",3222          "type": "timestamp with time zone",3223          "primaryKey": false,3224          "notNull": true,3225          "default": "now()"3226        },3227        "created_at": {3228          "name": "created_at",3229          "type": "timestamp with time zone",3230          "primaryKey": false,3231          "notNull": true,3232          "default": "now()"3233        },3234        "updated_at": {3235          "name": "updated_at",3236          "type": "timestamp with time zone",3237          "primaryKey": false,3238          "notNull": true,3239          "default": "now()"3240        }3241      },3242      "indexes": {3243        "projects_country_idx": {3244          "name": "projects_country_idx",3245          "columns": [3246            {3247              "expression": "country_iso2",3248              "isExpression": false,3249              "asc": true,3250              "nulls": "last"3251            }3252          ],3253          "isUnique": false,3254          "concurrently": false,3255          "method": "btree",3256          "with": {}3257        },3258        "projects_operator_idx": {3259          "name": "projects_operator_idx",3260          "columns": [3261            {3262              "expression": "operator_id",3263              "isExpression": false,3264              "asc": true,3265              "nulls": "last"3266            }3267          ],3268          "isUnique": false,3269          "concurrently": false,3270          "method": "btree",3271          "with": {}3272        },3273        "projects_status_idx": {3274          "name": "projects_status_idx",3275          "columns": [3276            {3277              "expression": "status",3278              "isExpression": false,3279              "asc": true,3280              "nulls": "last"3281            }3282          ],3283          "isUnique": false,3284          "concurrently": false,3285          "method": "btree",3286          "with": {}3287        },3288        "projects_norm_idx": {3289          "name": "projects_norm_idx",3290          "columns": [3291            {3292              "expression": "normalized_name",3293              "isExpression": false,3294              "asc": true,3295              "nulls": "last"3296            }3297          ],3298          "isUnique": false,3299          "concurrently": false,3300          "method": "btree",3301          "with": {}3302        }3303      },3304      "foreignKeys": {3305        "projects_operator_id_operators_id_fk": {3306          "name": "projects_operator_id_operators_id_fk",3307          "tableFrom": "projects",3308          "tableTo": "operators",3309          "columnsFrom": [3310            "operator_id"3311          ],3312          "columnsTo": [3313            "id"3314          ],3315          "onDelete": "no action",3316          "onUpdate": "no action"3317        },3318        "projects_facility_id_facilities_id_fk": {3319          "name": "projects_facility_id_facilities_id_fk",3320          "tableFrom": "projects",3321          "tableTo": "facilities",3322          "columnsFrom": [3323            "facility_id"3324          ],3325          "columnsTo": [3326            "id"3327          ],3328          "onDelete": "no action",3329          "onUpdate": "no action"3330        },3331        "projects_metro_id_metros_id_fk": {3332          "name": "projects_metro_id_metros_id_fk",3333          "tableFrom": "projects",3334          "tableTo": "metros",3335          "columnsFrom": [3336            "metro_id"3337          ],3338          "columnsTo": [3339            "id"3340          ],3341          "onDelete": "no action",3342          "onUpdate": "no action"3343        },3344        "projects_country_iso2_countries_iso2_fk": {3345          "name": "projects_country_iso2_countries_iso2_fk",3346          "tableFrom": "projects",3347          "tableTo": "countries",3348          "columnsFrom": [3349            "country_iso2"3350          ],3351          "columnsTo": [3352            "iso2"3353          ],3354          "onDelete": "no action",3355          "onUpdate": "no action"3356        }3357      },3358      "compositePrimaryKeys": {},3359      "uniqueConstraints": {3360        "projects_slug_unique": {3361          "name": "projects_slug_unique",3362          "nullsNotDistinct": false,3363          "columns": [3364            "slug"3365          ]3366        }3367      },3368      "policies": {},3369      "checkConstraints": {},3370      "isRLSEnabled": false3371    },3372    "public.provenance": {3373      "name": "provenance",3374      "schema": "",3375      "columns": {3376        "id": {3377          "name": "id",3378          "type": "text",3379          "primaryKey": true,3380          "notNull": true3381        },3382        "entity_type": {3383          "name": "entity_type",3384          "type": "text",3385          "primaryKey": false,3386          "notNull": true3387        },3388        "entity_id": {3389          "name": "entity_id",3390          "type": "text",3391          "primaryKey": false,3392          "notNull": true3393        },3394        "field": {3395          "name": "field",3396          "type": "text",3397          "primaryKey": false,3398          "notNull": true3399        },3400        "value": {3401          "name": "value",3402          "type": "jsonb",3403          "primaryKey": false,3404          "notNull": false3405        },3406        "source_id": {3407          "name": "source_id",3408          "type": "text",3409          "primaryKey": false,3410          "notNull": true3411        },3412        "connector_id": {3413          "name": "connector_id",3414          "type": "text",3415          "primaryKey": false,3416          "notNull": true3417        },3418        "document_id": {3419          "name": "document_id",3420          "type": "text",3421          "primaryKey": false,3422          "notNull": false3423        },3424        "url": {3425          "name": "url",3426          "type": "text",3427          "primaryKey": false,3428          "notNull": true3429        },3430        "first_observed": {3431          "name": "first_observed",3432          "type": "timestamp with time zone",3433          "primaryKey": false,3434          "notNull": true,3435          "default": "now()"3436        },3437        "last_observed": {3438          "name": "last_observed",3439          "type": "timestamp with time zone",3440          "primaryKey": false,3441          "notNull": true,3442          "default": "now()"3443        },3444        "retrieved_at": {3445          "name": "retrieved_at",3446          "type": "timestamp with time zone",3447          "primaryKey": false,3448          "notNull": true,3449          "default": "now()"3450        },3451        "confidence": {3452          "name": "confidence",3453          "type": "text",3454          "primaryKey": false,3455          "notNull": true,3456          "default": "'moderate'"3457        },3458        "is_estimate": {3459          "name": "is_estimate",3460          "type": "boolean",3461          "primaryKey": false,3462          "notNull": true,3463          "default": false3464        },3465        "method": {3466          "name": "method",3467          "type": "text",3468          "primaryKey": false,3469          "notNull": false3470        },3471        "extractor_version": {3472          "name": "extractor_version",3473          "type": "text",3474          "primaryKey": false,3475          "notNull": false3476        },3477        "is_current": {3478          "name": "is_current",3479          "type": "boolean",3480          "primaryKey": false,3481          "notNull": true,3482          "default": true3483        },3484        "note": {3485          "name": "note",3486          "type": "text",3487          "primaryKey": false,3488          "notNull": false3489        }3490      },3491      "indexes": {3492        "provenance_entity_idx": {3493          "name": "provenance_entity_idx",3494          "columns": [3495            {3496              "expression": "entity_type",3497              "isExpression": false,3498              "asc": true,3499              "nulls": "last"3500            },3501            {3502              "expression": "entity_id",3503              "isExpression": false,3504              "asc": true,3505              "nulls": "last"3506            }3507          ],3508          "isUnique": false,3509          "concurrently": false,3510          "method": "btree",3511          "with": {}3512        },3513        "provenance_source_idx": {3514          "name": "provenance_source_idx",3515          "columns": [3516            {3517              "expression": "source_id",3518              "isExpression": false,3519              "asc": true,3520              "nulls": "last"3521            }3522          ],3523          "isUnique": false,3524          "concurrently": false,3525          "method": "btree",3526          "with": {}3527        },3528        "provenance_uq": {3529          "name": "provenance_uq",3530          "columns": [3531            {3532              "expression": "entity_type",3533              "isExpression": false,3534              "asc": true,3535              "nulls": "last"3536            },3537            {3538              "expression": "entity_id",3539              "isExpression": false,3540              "asc": true,3541              "nulls": "last"3542            },3543            {3544              "expression": "field",3545              "isExpression": false,3546              "asc": true,3547              "nulls": "last"3548            },3549            {3550              "expression": "source_id",3551              "isExpression": false,3552              "asc": true,3553              "nulls": "last"3554            },3555            {3556              "expression": "url",3557              "isExpression": false,3558              "asc": true,3559              "nulls": "last"3560            }3561          ],3562          "isUnique": true,3563          "concurrently": false,3564          "method": "btree",3565          "with": {}3566        }3567      },3568      "foreignKeys": {},3569      "compositePrimaryKeys": {},3570      "uniqueConstraints": {},3571      "policies": {},3572      "checkConstraints": {},3573      "isRLSEnabled": false3574    },3575    "public.rankings": {3576      "name": "rankings",3577      "schema": "",3578      "columns": {3579        "id": {3580          "name": "id",3581          "type": "text",3582          "primaryKey": true,3583          "notNull": true3584        },3585        "key": {3586          "name": "key",3587          "type": "text",3588          "primaryKey": false,3589          "notNull": true3590        },3591        "scope": {3592          "name": "scope",3593          "type": "text",3594          "primaryKey": false,3595          "notNull": true3596        },3597        "label": {3598          "name": "label",3599          "type": "text",3600          "primaryKey": false,3601          "notNull": true3602        },3603        "unit": {3604          "name": "unit",3605          "type": "text",3606          "primaryKey": false,3607          "notNull": true3608        },3609        "methodology": {3610          "name": "methodology",3611          "type": "text",3612          "primaryKey": false,3613          "notNull": true3614        },3615        "min_coverage": {3616          "name": "min_coverage",3617          "type": "real",3618          "primaryKey": false,3619          "notNull": false3620        },3621        "rows": {3622          "name": "rows",3623          "type": "jsonb",3624          "primaryKey": false,3625          "notNull": true3626        },3627        "total": {3628          "name": "total",3629          "type": "integer",3630          "primaryKey": false,3631          "notNull": true3632        },3633        "computed_at": {3634          "name": "computed_at",3635          "type": "timestamp with time zone",3636          "primaryKey": false,3637          "notNull": true,3638          "default": "now()"3639        },3640        "is_current": {3641          "name": "is_current",3642          "type": "boolean",3643          "primaryKey": false,3644          "notNull": true,3645          "default": true3646        }3647      },3648      "indexes": {3649        "rankings_key_idx": {3650          "name": "rankings_key_idx",3651          "columns": [3652            {3653              "expression": "key",3654              "isExpression": false,3655              "asc": true,3656              "nulls": "last"3657            },3658            {3659              "expression": "is_current",3660              "isExpression": false,3661              "asc": true,3662              "nulls": "last"3663            }3664          ],3665          "isUnique": false,3666          "concurrently": false,3667          "method": "btree",3668          "with": {}3669        }3670      },3671      "foreignKeys": {},3672      "compositePrimaryKeys": {},3673      "uniqueConstraints": {},3674      "policies": {},3675      "checkConstraints": {},3676      "isRLSEnabled": false3677    },3678    "public.sources": {3679      "name": "sources",3680      "schema": "",3681      "columns": {3682        "id": {3683          "name": "id",3684          "type": "text",3685          "primaryKey": true,3686          "notNull": true3687        },3688        "connector_id": {3689          "name": "connector_id",3690          "type": "text",3691          "primaryKey": false,3692          "notNull": true3693        },3694        "name": {3695          "name": "name",3696          "type": "text",3697          "primaryKey": false,3698          "notNull": true3699        },3700        "domain": {3701          "name": "domain",3702          "type": "text",3703          "primaryKey": false,3704          "notNull": true3705        },3706        "kind": {3707          "name": "kind",3708          "type": "text",3709          "primaryKey": false,3710          "notNull": true3711        },3712        "priority": {3713          "name": "priority",3714          "type": "integer",3715          "primaryKey": false,3716          "notNull": true,3717          "default": 33718        },3719        "url": {3720          "name": "url",3721          "type": "text",3722          "primaryKey": false,3723          "notNull": false3724        },3725        "license": {3726          "name": "license",3727          "type": "text",3728          "primaryKey": false,3729          "notNull": false3730        },3731        "attribution": {3732          "name": "attribution",3733          "type": "text",3734          "primaryKey": false,3735          "notNull": false3736        },3737        "robots_allowed": {3738          "name": "robots_allowed",3739          "type": "boolean",3740          "primaryKey": false,3741          "notNull": false3742        },3743        "notes": {3744          "name": "notes",3745          "type": "text",3746          "primaryKey": false,3747          "notNull": false3748        },3749        "created_at": {3750          "name": "created_at",3751          "type": "timestamp with time zone",3752          "primaryKey": false,3753          "notNull": true,3754          "default": "now()"3755        },3756        "updated_at": {3757          "name": "updated_at",3758          "type": "timestamp with time zone",3759          "primaryKey": false,3760          "notNull": true,3761          "default": "now()"3762        }3763      },3764      "indexes": {},3765      "foreignKeys": {},3766      "compositePrimaryKeys": {},3767      "uniqueConstraints": {},3768      "policies": {},3769      "checkConstraints": {},3770      "isRLSEnabled": false3771    },3772    "public.system_alerts": {3773      "name": "system_alerts",3774      "schema": "",3775      "columns": {3776        "id": {3777          "name": "id",3778          "type": "text",3779          "primaryKey": true,3780          "notNull": true3781        },3782        "level": {3783          "name": "level",3784          "type": "text",3785          "primaryKey": false,3786          "notNull": true3787        },3788        "component": {3789          "name": "component",3790          "type": "text",3791          "primaryKey": false,3792          "notNull": true3793        },3794        "message": {3795          "name": "message",3796          "type": "text",3797          "primaryKey": false,3798          "notNull": true3799        },3800        "details": {3801          "name": "details",3802          "type": "jsonb",3803          "primaryKey": false,3804          "notNull": false3805        },3806        "resolved_at": {3807          "name": "resolved_at",3808          "type": "timestamp with time zone",3809          "primaryKey": false,3810          "notNull": false3811        },3812        "created_at": {3813          "name": "created_at",3814          "type": "timestamp with time zone",3815          "primaryKey": false,3816          "notNull": true,3817          "default": "now()"3818        }3819      },3820      "indexes": {},3821      "foreignKeys": {},3822      "compositePrimaryKeys": {},3823      "uniqueConstraints": {},3824      "policies": {},3825      "checkConstraints": {},3826      "isRLSEnabled": false3827    }3828  },3829  "enums": {},3830  "schemas": {},3831  "sequences": {},3832  "roles": {},3833  "policies": {},3834  "views": {},3835  "_meta": {3836    "columns": {},3837    "schemas": {},3838    "tables": {}3839  }3840}