Hvordan bygge en Python -app med kakerlakkdb og Ponyorm

Hvordan bygge en Python -app med kakerlakkdb og Ponyorm

I denne guiden vil vi introdusere deg for kakerlakkdb og ponorm ved hjelp av Python. Vi vil starte med å diskutere hva disse teknologiene er og deretter diskutere hvordan de fungerer.

La oss forstå hva disse teknologiene er:

Hva er kakerlakkdb

Cockroachdb er en meget skalerbar, åpen kildekode, distribuert SQL-database som bruker transaksjonelle og konsistente nøkkelverdibutikker.

Kakerlakkdb er veldig effektiv som en metode for å sikre datasettighet og gjenoppretting i tilfelle svikt. I tilfelle av maskinvare- og programvaresvikt, kan det bevare data ved å bruke sterke konsistente replikasjoner av dataene og automatiske reparasjoner. Ved hjelp av SQL API lar Cockroachdb deg spørre, strukturere og manipulere data ved hjelp av SQL -spørsmål.

Ved hjelp av SQL API gir Cockroachdb utviklere en enkel overgang da de får de samme kjente konseptene. Fordi den allerede har eksisterende SQL -drivere for de fleste programmeringsspråk, blir det mer behagelig å bruke det mer behagelig.

Vi anbefaler at du sjekker ut kakerlakkeredokumentasjonen for en bedre forståelse.

https: // linkfy.til/kakerlakkdokker

Hva er ponorm

Ponyorm er en avansert Python-objekt-relasjonell kartlegging. Selv om det er andre Python ORM som Django og Sqlalchemy, er Ponyorm fordelaktig fordi den har funksjoner som støtte for komposittnøkler, automatisk spørringsoptimalisering og intuitiv og grei spørringssyntaks.

En ORM er ganske enkelt et verktøy som lar deg jobbe med en SQL -database ved å bruke ditt foretrukne programmeringsspråk. Det gir utviklere muligheten til å jobbe med dataene i en database i form av objekter; Derfor kan du bruke OOP til språket ditt til å jobbe med dataene.

Ved hjelp av Ponyorm Library kan vi bruke Python Language til å jobbe med data i Cockroachdb i form av objekter i den relasjonsdatabasen.

Du kan bruke Ponyorm -dokumentasjonen som referanse. Her er lenken:

https: // dokumenter.Ponyorm.org/toc.html

Hvordan installere kakerlakkdb på linux

Følg trinnene i denne guiden for å installere kakerlakkdb på Linux -systemer, og avhengig av systemkonfigurasjonen din, må du ha root -tilgang eller være en sudo -bruker.

Det første trinnet er å sikre at systemet ditt er oppdatert og deretter installere de nødvendige avhengighetene. Her er kommandoen for det:

sudo apt-get update && sudo apt-get oppgradering
sudo apt -get install glibc libncurses tzdata -y

Neste trinn er å laste ned kakerlakkdb -binær ved hjelp av WGET, som vist i kommandoen nedenfor:

WGET -QO- https: // binær.kakerlakkdb.com/kakerlakk-v20.2.3.Linux-AMD64.tgz

Når du har lastet ned binæren, kan du trekke ut filen.

TAR -XVF CHOFTROACH -V20.2.3.Linux-AMD64.tgz

For å lansere kakerlakkdb -kommandoer fra ethvert skall, tilsett binæren til din vei:

CP -i kakerlakk -V20.2.3. Linux-Amd64/kakerlakk/usr/bin/

Kopier de nødvendige bibliotekene:

mkdir -p/usr/lib/kakerlakk
CP -i kakerlakk -V20.2.3.Linux-amd64/lib/libgeos.Så/usr/lib/kakerlakk/
CP -i kakerlakk -V20.2.3.linux-amd64/lib/libgeos_c.Så/usr/lib/kakerlakk/

Når du er fullført, bekreft at du har kakerlakk installert:

Hvilken kakerlakk
/usr/bin/kakerlakk

Start en midlertidig klynge i minnet ved å bruke kommandoen:

Kakerlakkdemo

Inne i klyngen kan du kjøre et interaktivt SQL -skall for å legge inn gyldige SQL -spørsmål:

Vis bord;

Hvordan installere ponorm

For å installere Ponyorm, bør du ha en installert og kjørende versjon av Python. Du kan bruke både Python 2 (død) eller Python 3.

Bruk pip, installer ponni:

PIP3 installer ponni

For å teste om du har ponni installert, åpner du Python -tolken og skriver inn koden.

>>> fra ponni. orm import *

Siden vi vil bruke ponorm med kakerlakkdb, må vi installere den nødvendige driveren. For denne saken må vi installere psycopg2. Bruk PIP -kommandoen til å installere den nødvendige driveren.

PIP installer PSYCOPG2-Binary

Sjekk om du har PSYCOPG installert ved hjelp av den interaktive Python -økten og skriv inn kommandoen:

Importer psycopg

Når du har installert alt, kan du gå videre og begynne å jobbe med Cochroachdb og Ponyorm:

Hvordan bygge en Python -applikasjon med kakerlakkdb og ponorm

For å bygge en Python -applikasjon, start med å starte et interaktivt SQL -skall ved hjelp av kommandoen.

Kakerlakk SQL

Neste trinn er å opprette en database og bruker å samhandle med, som du kan gjøre ved hjelp av kommandoen:

Opprett bruker hvis ikke eksisterer admin;
Opprette databaseblogg;

Legg til nødvendige privilegier til administratorbrukeren ved å bruke kommandoen:

Gi alle på databasebloggen til admin;
\ q;

Nå for app -delen:

Koden nedenfor bruker Ponyorm for å samhandle med bloggdatabasen og kartlegge Python -objekter og metoder til SQL -databasen.

Koden nedenfor utfører følgende operasjoner:

fra ponni.orm import *
Importer DateTime
database = database ()
db_params = dict (leverandør = 'kakerlakk', bruker = 'admin',
vert = 'localhost', port = 26257, database = 'blogg')
Klassebruker (database.Enhet):
First_name = påkrevd (Unicode)
blogger = sett ("Blogg")
Klasseblogg (database.Enhet):
Brukernavn = påkrevd (bruker)
tittel = påkrevd (Unicode)
publiser_date = påkrevd (DateTime.Dato)
Kategori = påkrevd (Unicode)
set_sql_debug (sant)
database.bind (** db_params)
database.generere_mapping (create_tables = true)
@DB_Session
def create_blog ():
bruker = bruker (første_navn = u "admin")
blogg = blogg (brukernavn = bruker,
tittel = u "Hello World",
publiser_date = DateTime.Dato (2021, 1, 1),
kategori = u "utkast")
blogger = [

"Bruker": Bruker,
"Tittel": "Hello World 1",
"publiser_date": DateTime.Dato (2021, 1, 2),
"Kategori": "Utkast"
,

"Bruker": Bruker,
"Tittel": "Hello World 2",
"publiser_date": DateTime.Dato (2021, 1, 3),
"Kategori": "Utkast"
,

"Bruker": Bruker,
"Tittel": "Hello World 3",
"publiser_date": DateTime.Dato (2021,1,4),
"Kategori": "Utkast"

]
For blogg i blogger:
b_ = blogg (** blogg)
if __name__ == "__main__":
create_blog ()
b_ = bruker ("admin")

Når du har kjørt appen, bør du se en utgang som ligner den som er vist nedenfor:

Få ny forbindelse
Slipp tilkobling
Få forbindelse fra det lokale bassenget
Bytt til AutoCommit -modus
Lag tabellen "Bruker" (
"ID" seriell primærnøkkel,
"First_name" tekst ikke null
)
Lag tabell “Blogg” (
“ID” seriell primærnøkkel,
“Brukernavn” int8 ikke null,
“Tittel” tekst ikke null,
“Publiser_date” dato ikke null,
“Kategori” -tekst ikke null
)
Opprett indeks "idx_blog__usname" på "blogg" ("brukernavn")
ALTER TABLE "Blog" Legg til begrensning "FK_BLOG__USNAME" Foreign Key ("Brukernavn") Referanser "Bruker" ("ID") på Delete Cascade
Velg "Blogg"."id", "blogg"."Brukernavn", "Blogg"."Tittel", "Blogg"."publiser_date", "blogg"."kategori"
Fra "Blog" "blogg"
Hvor 0 = 1
Velg "Bruker"."id", "bruker"."fornavn"
Fra "bruker" "bruker"
Hvor 0 = 1

Konklusjon

Ved hjelp av appen over opprettet vi en enkel bloggapplikasjon som oppretter en bruker og tildeler blogger til brukernavnet. Vi la deretter til dataene i databasen, som vi kan spørre ved hjelp av SQL -spørsmål. Selv om appen er enkel, illustrerer den hvordan vi kan bruke cockroachdb og ponorm for å lage en python -app.