Koble til databaser
Registrere en database som datakilde i appen, redigere tilkoblingen, gi nytt navn og slette — og hvor den tilkoblingen tas i bruk.
En datakilde er en database som er registrert i en app: en tilkobling med navn, type og legitimasjon, som blir tilgjengelig for alt i den appen som trenger ekte data — SQL-stegene i API-ene, skriptene, datamodellen (og, gjennom den, GraphQL-API-et og skjermene). Tilkoblingen registreres én gang; fra da av viser hele appen til den ved navn.
I eksempelappen Kundehåndtering heter datakilden crm — en PostgreSQL-base
med tabellene for kontoer, kontakter og salgsmuligheter. Det er den du kommer til
å se på alle figurene i dette kapitlet.
Merk
Datakildene er per app: hver app har sin egen liste, og en tilkobling som er registrert i én app dukker ikke opp i de andre. Trenger to apper den samme databasen, registreres tilkoblingen i hver av dem.
Hvor du finner datakildene
Det finnes to inngangsdører, og du kommer til å bruke begge:
- Panelet Data — i sidefeltet i arbeidsområdet til appen, fanen Data, seksjonen Datakilder. Det er stedet for det daglige: hver datakilde utvides til et tre med tabellene, visningene og programmeringen i databasen, og menyen på hver av dem gir tilgang til alle handlingene.
- Siden Datakilder — den fullstendige listen for appen, med typen og opprettelsesdatoen for hver tilkobling («Databaser som API-ene og skriptene i denne appen har tilgang til»). Det er også hit snarveiene på plattformen peker — for eksempel lenken Legg til den første som dukker opp i et SQL-steg når appen ennå ikke har datakilder. På små skjermer viser navigasjonen i appen Datakilder direkte.


Opprette en datakilde
Du kommer til å trenge tilkoblingsdataene til databasen: serveradresse, port, navnet på basen, bruker og passord — nøyaktig hvilke felt som gjelder varierer med typen (siden Støttede typer går gjennom hver enkelt).
Intern eller ekstern
Vinduet for å opprette har to faner, og valget avgjør hva du blir spurt om:
| Fane | Til hva | Hva du fyller ut |
|---|---|---|
| Intern | En database som plattformen oppretter og oppbevarer for denne appen. | Bare Internt navn og motoren: PostgreSQL (en ny database på installasjonens server, med egne påloggingsdetaljer) eller SQLite (en fil oppbevart med appen, med valgfri import av en eksisterende fil). |
| Ekstern | En database som allerede finnes, din egen eller et annet systems. | Typen (PostgreSQL, MySQL, MariaDB, SQL Server eller Oracle) og tilkoblingsdetaljene; Test tilkobling bekrefter før du lagrer. |
I en intern database ser eller skriver du aldri tilkoblingsdetaljer: plattformen oppretter den, oppbevarer påloggingsdetaljene kryptert og kobler til for deg. Hvis valget PostgreSQL under fanen Intern er deaktivert, er installasjonens PostgreSQL-server ikke konfigurert enda; spør installasjonens administrator.
Fra panelet Data
- Åpne fanen Data i sidefeltet.
- I seksjonen Datakilder trykker du på knappen + (Ny datakilde). Det åpnes en modal — «Koble en database til denne appen. Alt krypteres i hvile.»
- Fyll ut Internt navn og velg Type.
- Fyll ut tilkoblingsfeltene for typen du valgte.
- Trykk på Test tilkoblingen og vent på «Tilkoblingen er OK.» — siden Teste tilkoblingen og sikkerhet forklarer hva testen gjør og hvordan du leser feilene.
- Trykk på Lagre. Treet viser nå datakilden, og skjermen Modell for den åpnes rett etterpå — klar til at du importerer tabeller.
Fra siden Datakilder
- Åpne siden Datakilder og trykk på Legg til datakilde.
- Siden Ny datakilde åpnes — «Registrer legitimasjonen og test tilkoblingen før du lagrer. Alt krypteres i hvile.» Skjemaet har to seksjoner: Identifikasjon (Internt navn og databasetype) og Tilkobling (legitimasjon og tilkoblingsparametere).
- Fyll ut, test med Test tilkoblingen, og trykk på Opprett.
- Du kommer tilbake til listen, med bekreftelsen «Datakilden er opprettet.».

Tips
Veien via modalen er den korteste når du holder på å bygge: når du lagrer, åpnes Modell for datakilden med én gang, og du kan fortsette uten å forlate arbeidsområdet.
Det interne navnet er identiteten
Internt navn (f.eks. warehouse-prod, eller crm i vårt eksempel) er ikke
en dekorativ etikett — det er identifikatoren API-ene og skriptene kaller
tilkoblingen med:
- I et Python-skript:
db("crm").query("select * from contas"). - I et SQL-steg i et API: feltet Datakilde i steget lister opp de registrerte navnene.
Derfor:
| Regel | Hva som skjer hvis den brytes |
|---|---|
| Unikt i appen | «Det finnes allerede en datakilde med navnet … i dette prosjektet.» |
| Ingen kollisjon med en annen datakilde | «Navnet … kolliderer med datakilden …» |
| Stabilt — endre det bare med hensikt | Se «Gi en datakilde nytt navn» nedenfor |
Redigere tilkoblingen
Databasen har byttet server eller passord, eller du vil slå på SSL:
- I panelet Data åpner du menyen ⋯ for datakilden og velger Rediger tilkobling.
- Modalen åpnes med alt fylt ut bortsett fra passordet — feltet heter nå Passord (tomt = behold). La det stå tomt for å beholde det nåværende passordet; skriv for å erstatte det.
- Endre det du trenger, trykk på Test tilkoblingen for å bekrefte, og deretter på Lagre. Bekreftelsen er «Tilkoblingen er lagret.».

Merk
På siden Datakilder åpner et klikk på navnet til en datakilde Modell for den — tilkoblingen redigeres alltid via modalen Rediger tilkobling i panelet Data.
Merk
For en intern datakilde (SQLite eller plattformens PostgreSQL) lar redigeringsvinduet deg bare endre Internt navn. Tilkoblingsdetaljene tilhører plattformen, vises ikke og kan ikke endres, og det finnes ingen Test tilkobling; bare databasens navn vises, så du kjenner den igjen.
Gi en datakilde nytt navn
Dobbeltklikk på navnet til datakilden i treet i panelet Data og skriv det nye navnet (eller endre Internt navn under Rediger tilkobling). Tabellene som allerede er importert til modellen følger det nye navnet automatisk.
Advarsel
Det som ikke skrives om når du gir nytt navn: SQL-stegene i API-er som
valgte datakilden med det gamle navnet, og kallene db("gammelt-navn") i
skriptene. Etter navnebyttet går du gjennom de API-ene og skriptene — fram til
da peker de på et navn som ikke finnes lenger, og de feiler når de kjøres.
Slette en datakilde
- På siden Datakilder trykker du på søppelbøtteikonet på linjen til datakilden — eller, i panelet Data, åpner du menyen ⋯ og velger Slett datakilde.
- Les bekreftelsen nøye: «API-er og skript som bruker denne datakilden vil ikke lenger kunne kjøre. Handlingen er permanent.» I treet legger advarselen til at modellen som hører til også forsvinner.
- Bekreft med Slett datakilde.
Hva slettingen fjerner — og hva den ikke rører:
| Forsvinner | Blir |
|---|---|
| Den registrerte tilkoblingen (navn, type, legitimasjon) | Selve databasen — ingenting slettes på serveren den kommer fra |
| Tabellene fra den datakilden i modellen til appen | API-ene og skriptene som brukte den (de feiler helt til de peker på en annen datakilde) |

Advarsel
I en datakilde av typen SQLite lever databasen sammen med appen — sletter du datakilden, tar du farvel med de dataene. I de øvrige typene er sletting bare å glemme tilkoblingen.
Advarsel
Det samme gjelder en intern PostgreSQL-datakilde: databasen ble opprettet av plattformen for denne datakilden og slettes sammen med den, på serveren, med alle data. Derfor ber bekreftelsen deg skrive datakildens navn. For en ekstern datakilde blir databasen din nøyaktig der den er.
Hvor tilkoblingen brukes
Å registrere datakilden er første steg; verdien ligger i det den låser opp:
Objekttreet — utvid datakilden i panelet Data for å se Tabeller, Visninger og Programmering (funksjoner, prosedyrer og triggere). Hver tabell har Vis data (åpner konsollen med en ferdig select) og Importer til modell.
Datamodellen — tabellene du importerer blir entiteter i modellen, med relasjoner og visningsnavn. Det er modellen som mater GraphQL-API-et i appen og Tabell-blokkene i API-ene. Kapitlet om datamodellen tar dette grundig.
API-ene — i et SQL-steg velger du basen i feltet Datakilde og skriver SQL-spørring. Argumentene til API-et kommer inn som
:nomeDoArgog resultatet fra forrige steg som:prev— «Verdiene sendes alltid som parametere — aldri sammensatt i teksten.» Det finnes en bryter Returner bare første rad for spørringer med én enkelt post.Skriptene — i Python importerer du tilgangen og spør ved navn:
from api_manager import db def main(input): contas = db("crm").query( "select id, nome from contas where cidade = $1", ["Lisboa"] ) return {"total": len(contas)}Parametermarkørene (
$1,?,:1, …) varierer med motoren — tabellen står på siden Støttede typer.

Hvorfor ser jeg ikke…?
- …knappen Legg til datakilde? Å opprette, redigere og slette datakilder er forbeholdt den som har administratorprofil i appen. Med utviklerprofil ser du listen og bruker datakildene, men du rører ikke tilkoblingen.
- …noen datakilder i SQL-steget i API-et mitt? Appen har ennå ingen — steget viser «Denne appen har ingen datakilder.» med lenken Legg til den første.
- …noen tabeller i Tabell-blokken i API-et? Tabell-blokken leser fra modellen, ikke fra datakilden direkte: «Datamodellen har ingen tabeller ennå. Importer tabeller i fanen "Modell" på en datakilde først.»