portfolios.tools

SQL naar TypeScript interface omzetter

Zet ondersteunde PostgreSQL CREATE TABLE definities om in TypeScript rijinterfaces met expliciete nullbaarheid en exacte numerieke weergaven.

SQL invoer

Plak CREATE TABLE instructies van maximaal 100.000 tekens. Niet ondersteunde SQL geeft een fout zodat gedeeltelijke interfaces niet volledig lijken.

Gegenereerd resultaat

Omgezette tabellen: 1

export interface FinancePositions {
  /** Primary key */
  "id": string;
  "ticker": string;
  "shares": string;
  /** Default expression: 'created, reviewed' */
  "note": string | null;
  "metadata": unknown | null;
}

Werking

Plak een of meer PostgreSQL CREATE TABLE instructies. De parser ondersteunt optioneel IF NOT EXISTS, schemanamen, geciteerde identifiers, ingebouwde typen, precisie, standaardwaarden, null beperkingen, primaire sleutels en gangbare constraints.

Controleer de gegenereerde interface per tabel. Nullable kolommen blijven verplichte eigenschappen met waardetype `| null`. JSDoc voegt opgeschoonde standaardwaarden en opmerkingen over primaire sleutels toe.

Vergelijk de uitvoer met de vorm van je query en de configuratie van je stuurprogramma. Een query die slechts enkele kolommen selecteert heeft een andere vorm dan de volledige tabelrij die hier wordt beschreven.

Gebruik de uitvoer als beginpunt voor applicatietypen. Voeg runtime validatie toe en pas stuurprogrammaspecifieke weergaven in je project aan.

Stap voor stap

  1. Plak ondersteunde PostgreSQL tabeldefinities
  2. Controleer rij eigenschappen en waardetypen
  3. Controleer queries en stuurprogrammawaarden

Praktisch voorbeeld

Voorbeeldinvoer: CREATE TABLE finance.positions (id bigint PRIMARY KEY, ticker varchar(12) NOT NULL, shares numeric(12, 4) NOT NULL, note text DEFAULT 'created, reviewed', metadata jsonb);

Het gegenereerde rijtype bevat id en ticker als verplichte tekenreeksen, shares als verplichte tekenreeks, note als verplichte nullable tekenreeks en metadata als verplichte nullable unknown waarde. bigint en numeric worden tekenreeksen, zodat geen exacte precisie van JavaScript getallen wordt verondersteld.

Wanneer gebruik je deze omzetter

Gebruik deze omzetter om ondersteunde PostgreSQL tabeldefinities om te zetten naar een starttype voor volledige databaseregels. Nullable waarden blijven onderscheiden van ontbrekende eigenschappen.

Controleer de typeomzettingen met je stuurprogramma en queryresultaten voordat je de interface in een toepassing gebruikt.

Veelgemaakte fouten

Behandel een nullable kolom niet als optionele eigenschap. Een geselecteerde rij bevat de kolom, ook als de waarde null kan zijn.

Ga er niet van uit dat het stuurprogramma numeric en bigint als tekenreeksen teruggeeft. Configureer of converteer resultaten zodat ze bij de interface passen.

Parseer en typeregels

Splits voor elke ondersteunde tabel definities bij kommas buiten haakjes en geciteerde waarden. Zet het SQL type van elke kolom om naar een TypeScript type. Genereer een verplichte eigenschap en voeg `| null` toe als de kolom null toestaat. Primaire sleutelkolommen staan geen null toe. Standaardwaarden zijn alleen documentatie.

Deze tool genereert rijinterfaces uit een beperkte PostgreSQL CREATE TABLE vorm. Exacte numeric en bigint waarden worden tekenreeksen. De toepassing moet het stuurprogramma hiervoor instellen of resultaten omzetten. Onbekende SQL typen worden unknown. JSON en JSONB worden ook unknown.

Bereik en beperkingen

Deze parser ondersteunt een beperkte PostgreSQL CREATE TABLE vorm, niet de volledige SQL taal. Hij ondersteunt eenvoudige definities, namen met schema en quotes, geneste expressies, gangbare constraints, standaardwaarden en primaire sleutels. Niet ondersteunde instructies of opties geven een fout zonder gedeeltelijke interfaces. ALTER TABLE, views, CREATE TABLE AS, partitionering, overerving en de volledige PostgreSQL grammatica worden niet ondersteund. numeric en bigint worden tekenreeksen en vereisen configuratie of omzetting van het stuurprogramma. Datums zijn tekenreeksen. Onbekende typen worden unknown. Eigenschappen beschrijven volledige rijen, geen optionele invoegvelden of gedeeltelijke queryresultaten. Gegenereerde typen valideren geen runtime gegevens. De invoer mag maximaal 100.000 tekens bevatten.

Belangrijke termen

Rijinterface
Een database rijinterface beschrijft de eigenschappen van een volledige rij, inclusief nullable waarden.
Nullable kolom
Een nullable kolom staat de waarde null toe. Dat betekent niet dat de eigenschap ontbreekt in een volledige rij.
Primaire sleutel
Een primaire sleutel identificeert rijen uniek en de kolommen ervan mogen in PostgreSQL geen null bevatten.

Verwante taken

Zet ondersteunde PostgreSQL tabeldefinities om in TypeScript rijtypen. Gebruik een aparte API schema tool om HTTP aanvragen en antwoorden te beschrijven.

Deze omzetter richt zich op de vorm van databaseregels. Hij maakt geen runtime validatie of functies voor gegevenstoegang.

FAQ

Welke SQL instructies kan dit lezen?

De parser leest ondersteunde CREATE TABLE instructies en splitst kolom en constraint definities alleen op het hoogste niveau. Kommas in typeprecisie, geneste expressies en geciteerde standaardwaarden blijven bij elkaar. Kolomnamen en typen, nullbaarheid, standaardwaarden en primaire sleutels vormen samen één interface per tabel.

Hoe worden nullable kolommen en primaire sleutels weergegeven?

Een nullable kolom blijft aanwezig in een geselecteerde rij. De eigenschap is dus verplicht en het waardetype bevat null. Een NOT NULL kolom en een primaire sleutel bevatten geen null. Een standaardwaarde geldt voor invoegingen, niet voor de aanwezigheid van de eigenschap in een geselecteerde rij.

Hoe worden SQL typen omgezet naar TypeScript?

Kleine gehele getallen en getallen met een drijvende komma worden number. bigint, numeric, decimal en money worden string om exacte waarden te behouden. Stel het databasestuurprogramma zo in dat deze waarden als tekenreeksen terugkomen of zet ze om voordat je het gegenereerde type gebruikt. JSON en JSONB worden unknown, omdat JSON een scalaire waarde, array, object of null kan bevatten. Datum en tijd typen worden string.

Welke syntaxis valt buiten de ondersteunde vorm?

De parser ondersteunt een beperkte PostgreSQL CREATE TABLE vorm met optioneel IF NOT EXISTS, optioneel schema, geciteerde identifiers, kolommen, gangbare constraints, standaardwaarden en primaire sleutels. Niet ondersteunde achtervoegsels en andere instructies worden afgewezen in plaats van gedeeltelijke uitvoer te geven. ALTER TABLE, views, CREATE TABLE AS, partities, overerving en niet alle PostgreSQL typen en constraints worden verwerkt.

Wat voegt de JSDoc optie toe?

Als je JSDoc inschakelt, voegt het een veilige samenvatting toe van de standaardwaarde en primaire sleutelstatus van de kolom. Regeleinden worden afgevlakt en commentaarafsluitingen geneutraliseerd zodat SQL het gegenereerde commentaar niet kan sluiten. De optie verandert alleen de documentatie, niet de TypeScript eigenschaptypen.

Verwante tools

Combineer database rijinterfaces met een apart API schema en runtime validatie wanneer je toepassing die contracten nodig heeft.