KEPLIN Docs

Tietokantojen yhdistäminen

Tietokannan rekisteröinti sovelluksen tietolähteeksi, yhteyden muokkaus, uudelleennimeäminen ja poisto — ja se, missä yhteyttä sen jälkeen käytetään.

Tietolähde on sovellukseen rekisteröity tietokanta: yhteys, jolla on nimi, tyyppi ja tunnistetiedot, ja joka on käytettävissä kaikelle, mikä kyseisessä sovelluksessa tarvitsee oikeaa dataa — API:iden SQL-vaiheet, skriptit, tietomalli (ja sen kautta sovelluksen GraphQL-API sekä näytöt). Yhteys rekisteröidään kerran; siitä eteenpäin koko sovellus viittaa siihen nimellä.

Esimerkkisovelluksessa Asiakashallinta tietolähteen nimi on crm — se on PostgreSQL-tietokanta, jossa ovat asiakkaiden, yhteyshenkilöiden ja myyntimahdollisuuksien taulut. Juuri sen näet tämän luvun kaikissa kuvissa.

Nota

Tietolähteet ovat sovelluskohtaisia: jokaisella sovelluksella on oma listansa, eikä yhteen sovellukseen rekisteröity yhteys näy muissa. Jos kaksi sovellusta tarvitsee samaa tietokantaa, yhteys rekisteröidään kumpaankin.

Mistä tietolähteet löytyvät

Sisäänkäyntejä on kaksi, ja käytät molempia:

  • Data-paneeli — sovelluksen työtilan sivupalkissa, välilehdellä Data, osiossa Tietolähteet. Se on arjen paikka: jokainen tietolähde laajenee puuksi, jossa ovat tietokannan taulut, näkymät ja ohjelmointi, ja kunkin valikko avaa pääsyn kaikkiin toimintoihin.
  • Tietolähteet-sivu — sovelluksen koko lista, jossa on kunkin yhteyden tyyppi ja luontipäivä (”Tietokannat, joihin tämän sovelluksen API:lla ja skripteillä on pääsy”). Myös alustan pikalinkit osoittavat tänne — esimerkiksi linkki Lisää ensimmäinen, joka ilmestyy SQL-vaiheeseen, kun sovelluksella ei ole vielä tietolähteitä. Pienillä näytöillä sovelluksen navigointi näyttää kohdan Tietolähteet suoraan.

Asiakashallinta-sovelluksen Tietolähteet-sivu, jossa on rekisteröity yhteys ”crm”
Asiakashallinta-sovelluksen Tietolähteet-sivu, jossa on rekisteröity yhteys ”crm”

Data-paneeli, jossa on osio Tietolähteet ja tietolähteen ”crm” objektipuu
Data-paneeli, jossa on osio Tietolähteet ja tietolähteen ”crm” objektipuu

Tietolähteen luominen

Tarvitset tietokannan yhteystiedot: palvelimen osoitteen, portin, tietokannan nimen, käyttäjän ja salasanan — tarkat kentät vaihtelevat tyypin mukaan (sivu Tuetut tyypit käy jokaisen läpi).

Data-paneelista

  1. Avaa sivupalkin välilehti Data.
  2. Paina osiossa Tietolähteet painiketta + (Uusi tietolähde). Avautuu modaali — ”Yhdistä tietokanta tähän sovellukseen. Kaikki on salattu levossa.”
  3. Täytä Sisäinen nimi ja valitse Tyyppi.
  4. Täytä valitun tyypin yhteyskentät.
  5. Paina Testaa yhteys ja odota ilmoitusta ”Yhteys OK.” — sivu Yhteyden testaus ja tietoturva selittää, mitä testi tekee ja miten virheitä luetaan.
  6. Paina Tallenna. Puu alkaa näyttää tietolähteen, ja sen näyttö Malli avautuu heti perään — valmiina taulujen tuontiin.

Tietolähteet-sivulta

  1. Avaa sivu Tietolähteet ja paina Lisää tietolähde.
  2. Avautuu sivu Uusi tietolähde — ”Rekisteröi tunnistetiedot ja testaa yhteys ennen tallennusta. Kaikki on salattu levossa.” Lomakkeessa on kaksi osiota: Tunnistetiedot (sisäinen nimi ja tietokannan tyyppi) ja Yhteys (tunnistetiedot ja yhteysparametrit).
  3. Täytä, testaa painikkeella Testaa yhteys ja paina Luo.
  4. Palaat listaan, ja vahvistus kuuluu ”Tietolähde luotu.”.

Uusi tietolähde -lomake täytettynä Asiakashallinta-sovelluksen PostgreSQL-yhteydelle
Uusi tietolähde -lomake täytettynä Asiakashallinta-sovelluksen PostgreSQL-yhteydelle

Dica

Modaalin kautta kulkeva reitti on lyhin, kun olet rakentamassa: tallennuksen jälkeen tietolähteen Malli avautuu heti, ja voit jatkaa poistumatta työtilasta.

Sisäinen nimi on identiteetti

Sisäinen nimi (esim. warehouse-prod tai crm meidän esimerkissämme) ei ole koristetarra — se on tunniste, jolla API:t ja skriptit kutsuvat yhteyttä:

  • Python-skriptissä: db("crm").query("select * from contas").
  • API:n SQL-vaiheessa: vaiheen kenttä Tietolähde listaa rekisteröidyt nimet.

Siksi:

Sääntö Mitä tapahtuu, jos se pettää
Yksilöllinen sovelluksen sisällä ”Tässä projektissa on jo tietolähde nimeltä …”
Ei törmäyksiä toisen tietolähteen kanssa ”Nimi … törmää tietolähteen … kanssa”
Vakaa — muuta se vain tarkoituksella Katso ”Tietolähteen uudelleennimeäminen” alla

Yhteyden muokkaaminen

Tietokanta vaihtoi palvelinta tai salasanaa, tai haluat ottaa SSL:n käyttöön:

  1. Avaa paneelissa Data tietolähteen valikko ja valitse Muokkaa yhteyttä.
  2. Modaali avautuu kaikki täytettynä salasanaa lukuun ottamatta — kentän nimi on nyt Salasana (tyhjä = säilytä). Jätä se tyhjäksi säilyttääksesi nykyisen salasanan; kirjoita korvataksesi sen.
  3. Muuta tarvittava, paina Testaa yhteys varmistaaksesi ja sitten Tallenna. Vahvistus on ”Yhteys tallennettu.”.

Tietolähteen ”crm” Muokkaa yhteyttä -modaali, salasana tyhjänä
Tietolähteen ”crm” Muokkaa yhteyttä -modaali, salasana tyhjänä

Nota

Sivulla Tietolähteet tietolähteen nimen napsauttaminen avaa sen kohdan Malli — yhteyden muokkaus tehdään aina Data-paneelin modaalin Muokkaa yhteyttä kautta.

Tietolähteen uudelleennimeäminen

Kaksoisnapsauta tietolähteen nimeä paneelin Data puussa ja kirjoita uusi nimi (tai muuta kohtaa Sisäinen nimi modaalissa Muokkaa yhteyttä). Malliin jo tuodut taulut seuraavat uutta nimeä automaattisesti.

Atenção

Mitä uudelleennimeäminen ei kirjoita uusiksi: niiden API:iden SQL-vaiheet, jotka valitsivat tietolähteen vanhalla nimellä, sekä skriptien kutsut db("vanha-nimi"). Käy nimeämisen jälkeen nämä API:t ja skriptit läpi — siihen asti ne osoittavat nimeen jota ei enää ole ja epäonnistuvat suorituksessa.

Tietolähteen poistaminen

  1. Paina sivulla Tietolähteet tietolähteen rivillä olevaa roskakorikuvaketta — tai avaa paneelissa Data valikko ja valitse Poista tietolähde.
  2. Lue vahvistus huolellisesti: ”Tätä tietolähdettä käyttävät API:t ja skriptit eivät enää pysty suoriutumaan. Tämä toiminto on pysyvä.” Puussa varoitus lisää, että myös siihen liittyvä malli poistuu.
  3. Vahvista painikkeella Poista tietolähde.

Mitä poisto poistaa — ja mihin se ei koske:

Poistuu Jää
Rekisteröity yhteys (nimi, tyyppi, tunnistetiedot) Itse tietokanta — lähdepalvelimelta ei poisteta mitään
Kyseisen tietolähteen taulut sovelluksen mallissa Sitä käyttäneet API:t ja skriptit (ne epäonnistuvat, kunnes ne osoitetaan toiseen tietolähteeseen)

Poiston vahvistus varoittaa, että API:t ja skriptit eivät enää pysty suoriutumaan
Poiston vahvistus varoittaa, että API:t ja skriptit eivät enää pysty suoriutumaan

Atenção

SQLite-tyyppisessä tietolähteessä tietokanta elää sovelluksen mukana — kun poistat tietolähteen, hyvästelet sen datan. Muissa tyypeissä poistaminen on vain yhteyden unohtamista.

Missä yhteyttä käytetään

Tietolähteen rekisteröinti on ensimmäinen askel; arvo on siinä, minkä se avaa:

  • Objektipuu — laajenna tietolähde paneelissa Data nähdäksesi kohdat Taulut, Näkymät ja Ohjelmointi (funktiot, proseduurit ja triggerit). Jokaisella taululla on Näytä data (avaa konsolin valmiilla select-lauseella) ja Tuo malliin.

  • Tietomalli — tuoduista tauluista tulee mallin entiteettejä suhteineen ja selkonimineen. Juuri malli syöttää sovelluksen GraphQL-API:a ja API:iden Taulu-lohkoja. Tietomallia käsittelevä luku menee tähän syvälle.

  • API:t — valitse SQL-vaiheessa tietokanta kentässä Tietolähde ja kirjoita SQL-kysely. API:n argumentit tulevat sisään muodossa :argNimi ja edellisen vaiheen tulos muodossa :prev — ”Arvot välitetään aina parametreina — ei koskaan yhdistettyinä.” Yhden tietueen kyselyille on kytkin Palauta vain ensimmäinen rivi.

  • Skriptit — Pythonissa tuodaan pääsy ja kysellään nimellä:

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

    Parametrimerkinnät ($1, ?, :1, …) vaihtelevat moottorin mukaan — taulukko on sivulla Tuetut tyypit.

API:n SQL-vaiheessa kenttä Tietolähde valitsee tietokannan
API:n SQL-vaiheessa kenttä Tietolähde valitsee tietokannan

Miksi en näe…?

  • …painiketta Lisää tietolähde? Tietolähteiden luonti, muokkaus ja poisto on varattu niille, joilla on sovelluksessa ylläpitäjän rooli. Kehittäjän roolilla näet listan ja käytät tietolähteitä, mutta et koske yhteyteen.
  • …tietolähteitä API:ni SQL-vaiheessa? Sovelluksella ei ole vielä yhtäkään — vaihe näyttää tekstin ”Tällä sovelluksella ei ole tietolähteitä.” ja linkin Lisää ensimmäinen.
  • …tauluja API:n Taulu-lohkossa? Taulu-lohko lukee mallista, ei tietolähteestä suoraan: ”Tuo taulut ensin tietolähteen ”Malli”-välilehdellä.”