KEPLIN Docs

Ansluta databaser

Registrera en databas som datakälla i appen, redigera anslutningen, byta namn och ta bort — och var anslutningen sedan används.

En datakälla är en databas registrerad i en app: en anslutning med namn, typ och autentiseringsuppgifter, som blir tillgänglig för allt i den appen som behöver riktiga data — API:ernas SQL-steg, skripten, datamodellen (och, via den, GraphQL-API:et och skärmarna). Anslutningen registreras en gång; därefter refererar hela appen till den med namnet.

I exempelappen Kundhantering heter datakällan crm — en PostgreSQL-databas med tabellerna för konton, kontakter och affärsmöjligheter. Det är den du kommer att se i alla figurer i det här kapitlet.

Nota

Datakällor är per app: varje app har sin egen lista, och en anslutning som registrerats i en app dyker inte upp i de andra. Om två appar behöver samma databas registrerar man anslutningen i var och en.

Var du hittar datakällorna

Det finns två ingångar, och du kommer att använda båda:

  • Panelen Data — i sidofältet i appens arbetsyta, fliken Data, avsnittet Datakällor. Det är stället för vardagen: varje datakälla fälls ut i ett träd med databasens tabeller, vyer och programmering, och var och ens meny ger tillgång till alla åtgärder.
  • Sidan Datakällor — appens fullständiga lista, med varje ansluts typ och skapandedatum (”Databaser som den här appens API:er och skript kommer åt”). Det är också hit plattformens genvägar pekar — till exempel länken Lägg till den första som dyker upp i ett SQL-steg när appen ännu inte har några datakällor. På små skärmar visar appens navigering Datakällor direkt.

Sidan Datakällor i appen Kundhantering, med anslutningen ”crm” registrerad
Sidan Datakällor i appen Kundhantering, med anslutningen ”crm” registrerad

Panelen Data med avsnittet Datakällor och objektträdet för datakällan ”crm”
Panelen Data med avsnittet Datakällor och objektträdet för datakällan ”crm”

Skapa en datakälla

Du behöver databasens anslutningsuppgifter: serverns adress, port, databasens namn, användare och lösenord — exakt vilka fält det rör sig om varierar med typen (sidan Typer som stöds går igenom var och en).

Från panelen Data

  1. Öppna sidofältets flik Data.
  2. Tryck på knappen + (Ny datakälla) i avsnittet Datakällor. En modal öppnas — ”Anslut en databas till den här appen. Allt krypteras i vila.”
  3. Fyll i Internt namn och välj Typ.
  4. Fyll i anslutningsfälten för den valda typen.
  5. Tryck på Testa anslutningen och vänta på ”Anslutningen fungerar.” — sidan Testa anslutningen och säkerhet förklarar vad testet gör och hur man läser felen.
  6. Tryck på Spara. Trädet visar sedan datakällan, och dess skärm Modell öppnas direkt — redo för dig att importera tabeller.

Från sidan Datakällor

  1. Öppna sidan Datakällor och tryck på Lägg till datakälla.
  2. Sidan Ny datakälla öppnas — ”Registrera autentiseringsuppgifterna och testa anslutningen innan du sparar. Allt krypteras i vila.” Formuläret har två avsnitt: Identifikation (internt namn och typ av databas) och Anslutning (autentiseringsuppgifter och anslutningsparametrar).
  3. Fyll i, testa med Testa anslutningen, och tryck på Skapa.
  4. Du kommer tillbaka till listan, med bekräftelsen ”Datakällan har skapats.”.

Formuläret Ny datakälla ifyllt för PostgreSQL-anslutningen i appen Kundhantering
Formuläret Ny datakälla ifyllt för PostgreSQL-anslutningen i appen Kundhantering

Dica

Vägen via modalen är den kortaste medan du bygger: när du sparar öppnas datakällans Modell direkt och du kan fortsätta utan att lämna arbetsytan.

Det interna namnet är identiteten

Internt namn (t.ex. warehouse-prod, eller crm i vårt exempel) är ingen dekorativ etikett — det är identifieraren som API:erna och skripten anropar anslutningen med:

  • I ett Python-skript: db("crm").query("select * from contas").
  • I en API:s SQL-steg: stegets fält Datakälla listar de registrerade namnen.

Därför:

Regel Vad som händer om den bryts
Unikt inom appen ”Det finns redan en datakälla med namnet … i det här projektet.”
Utan krockar med en annan datakälla ”Namnet … krockar med datakällan …”
Stabilt — ändra det bara med avsikt Se ”Byta namn på en datakälla” nedan

Redigera anslutningen

Databasen har bytt server eller lösenord, eller så vill du slå på SSL:

  1. Öppna datakällans meny i panelen Data och välj Redigera anslutningen.
  2. Modalen öppnas med allt ifyllt utom lösenordet — fältet heter nu Lösenord (tomt = behåll). Lämna det blankt för att behålla det nuvarande lösenordet; skriv för att ersätta det.
  3. Ändra det du behöver, tryck på Testa anslutningen för att bekräfta, och sedan på Spara. Bekräftelsen är ”Anslutningen har sparats.”.

Modalen Redigera anslutningen för datakällan ”crm”, med lösenordet blankt
Modalen Redigera anslutningen för datakällan ”crm”, med lösenordet blankt

Nota

På sidan Datakällor öppnar ett klick på en datakällas namn dess Modell — anslutningen redigeras alltid via modalen Redigera anslutningen i panelen Data.

Byta namn på en datakälla

Dubbelklicka på datakällans namn i trädet i panelen Data och skriv det nya namnet (eller ändra Internt namn i Redigera anslutningen). De tabeller som redan importerats till modellen följer med det nya namnet automatiskt.

Atenção

Det som inte skrivs om vid namnbytet: SQL-stegen i API:er som valde datakällan med det gamla namnet, och anropen db("gamla-namnet") i skripten. När du bytt namn: gå igenom de API:erna och skripten — fram till dess pekar de på ett namn som inte längre finns och misslyckas när de körs.

Ta bort en datakälla

  1. Tryck på papperskorgsikonen på datakällans rad på sidan Datakällor — eller öppna menyn i panelen Data och välj Ta bort datakälla.
  2. Läs bekräftelsen noga: ”De API:er och skript som använder den här datakällan kommer inte längre att kunna köras. Åtgärden är permanent.” I trädet tillägger varningen att den tillhörande modellen också försvinner.
  3. Bekräfta med Ta bort datakälla.

Vad borttagningen tar med sig — och vad den inte rör:

Försvinner Blir kvar
Den registrerade anslutningen (namn, typ, autentiseringsuppgifter) Själva databasen — ingenting raderas på ursprungsservern
Den datakällans tabeller i appens modell De API:er och skript som använde den (de fortsätter fallera tills de pekar på en annan datakälla)

Borttagningsbekräftelsen varnar för att API:er och skript inte längre kan köras
Borttagningsbekräftelsen varnar för att API:er och skript inte längre kan köras

Atenção

I en datakälla av typen SQLite lever databasen med appen — när du tar bort datakällan tar du farväl av de data. I de övriga typerna är borttagning bara att glömma anslutningen.

Var anslutningen används

Att registrera datakällan är första steget; värdet ligger i vad den låser upp:

  • Objektträdet — fäll ut datakällan i panelen Data för att se Tabeller, Vyer och Programmering (funktioner, procedurer och triggers). Varje tabell har Visa data (öppnar konsolen med en färdig select) och Importera till modell.

  • Datamodellen — de importerade tabellerna blir entiteter i modellen, med relationer och visningsnamn. Det är modellen som matar appens GraphQL-API och API:ernas Tabell-block. Kapitlet om datamodellen går igenom det på djupet.

  • API:erna — i ett SQL-steg väljer du databasen i fältet Datakälla och skriver SQL-frågan. API:ets argument kommer in som :nomeDoArg och det föregående stegets resultat som :prev — ”Värdena skickas alltid parametriserade — aldrig sammanfogade.” Det finns ett reglage Returnera bara första raden för frågor som hämtar en enda post.

  • Skripten — importera åtkomsten i Python och fråga med namnet:

    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örerna ($1, ?, :1, …) varierar med motorn — tabellen finns på sidan Typer som stöds.

I en API:s SQL-steg väljer fältet Datakälla databasen
I en API:s SQL-steg väljer fältet Datakälla databasen

Varför ser jag inte…?

  • …knappen Lägg till datakälla? Att skapa, redigera och ta bort datakällor är förbehållet den som har administratörsprofil i appen. Med developer-profil ser du listan och använder datakällorna, men rör inte anslutningen.
  • …några datakällor i min API:s SQL-steg? Appen har ännu inte någon — steget visar ”Den här appen har inga datakällor.” med länken Lägg till den första.
  • …några tabeller i API:ns Tabell-block? Tabell-blocket läser från modellen, inte från datakällan direkt: ”Datamodellen har inga tabeller ännu. Importera tabeller i fliken "Modell" i en datakälla först.”