KEPLIN Docs

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.

Nota

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.

Siden Datakilder i appen Kundehåndtering, med tilkoblingen «crm» registrert
Siden Datakilder i appen Kundehåndtering, med tilkoblingen «crm» registrert

Panelet Data med seksjonen Datakilder og objekttreet til datakilden «crm»
Panelet Data med seksjonen Datakilder og objekttreet til datakilden «crm»

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).

Fra panelet Data

  1. Åpne fanen Data i sidefeltet.
  2. I seksjonen Datakilder trykker du på knappen + (Ny datakilde). Det åpnes en modal — «Koble en database til denne appen. Alt krypteres i hvile.»
  3. Fyll ut Internt navn og velg Type.
  4. Fyll ut tilkoblingsfeltene for typen du valgte.
  5. 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.
  6. Trykk på Lagre. Treet viser nå datakilden, og skjermen Modell for den åpnes rett etterpå — klar til at du importerer tabeller.

Fra siden Datakilder

  1. Åpne siden Datakilder og trykk på Legg til datakilde.
  2. 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).
  3. Fyll ut, test med Test tilkoblingen, og trykk på Opprett.
  4. Du kommer tilbake til listen, med bekreftelsen «Datakilden er opprettet.».

Skjemaet Ny datakilde fylt ut for PostgreSQL-tilkoblingen i appen Kundehåndtering
Skjemaet Ny datakilde fylt ut for PostgreSQL-tilkoblingen i appen Kundehåndtering

Dica

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:

  1. I panelet Data åpner du menyen for datakilden og velger Rediger tilkobling.
  2. 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.
  3. Endre det du trenger, trykk på Test tilkoblingen for å bekrefte, og deretter på Lagre. Bekreftelsen er «Tilkoblingen er lagret.».

Modalen Rediger tilkobling for datakilden «crm», med passordet tomt
Modalen Rediger tilkobling for datakilden «crm», med passordet tomt

Nota

På siden Datakilder åpner et klikk på navnet til en datakilde Modell for den — tilkoblingen redigeres alltid via modalen Rediger tilkobling i panelet Data.

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.

Atenção

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

  1. På siden Datakilder trykker du på søppelbøtteikonet på linjen til datakilden — eller, i panelet Data, åpner du menyen og velger Slett datakilde.
  2. 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.
  3. 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)

Slettebekreftelsen advarer om at API-er og skript ikke lenger vil kunne kjøre
Slettebekreftelsen advarer om at API-er og skript ikke lenger vil kunne kjøre

Atenção

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.

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 :nomeDoArg og 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.

I et SQL-steg i et API velger feltet Datakilde databasen
I et SQL-steg i et API velger feltet Datakilde databasen

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.»