Python

Hvordan lage en Python-app med CockroachDB og PonyORM

Hvordan lage en Python-app med CockroachDB og PonyORM

I denne guiden vil vi introdusere deg for CockroachDB og PonyORM ved hjelp av Python. Vi begynner med å diskutere hva disse teknologiene er, og deretter diskutere hvordan de fungerer.

Før vi begynner å bygge en Python-applikasjon med CockroachDB og PonyORM, la oss forstå hva disse teknologiene er:

Hva er CockroachDB

CockroachDB er en svært skalerbar, distribuert SQL-database med åpen kildekode som bruker transaksjonelle og konsistente nøkkelverdilagre.

CockroachDB er veldig effektiv som en metode for å sikre utholdenhet og gjenoppretting av data i tilfelle feil. I tilfelle maskinvare- og programvarefeil kan den bevare data ved å bruke 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ørringer.

Ved hjelp av SQL API gir CockroachDB utviklere en enkel overgang ettersom 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.

Vi anbefaler at du sjekker CockroachDB-dokumentasjonen for bedre forståelse.

https: // linkfy.til / cockroachDocs

Hva er PonyORM

PonyORM er en avansert Python Object-Relational Mapper. Selv om det finnes andre Python ORM som Django og SQLAlchemy, er PonyORM fordelaktig fordi den har funksjoner som støtte for komposittaster, automatisk spørringsoptimalisering og intuitiv og grei spørringssyntaks.

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

Ved hjelp av PonyORM-biblioteket kan vi bruke Python-språk til å jobbe med data i CockroachDB i form av objekter i relasjonsdatabasen.

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

https: // docs.ponyorm.org / toc.html

Hvordan installere CockroachDB på Linux

For å installere CockroachDB på Linux-systemer, følg trinnene i denne håndboken, 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 upgrade
sudo apt-get install glibc libncurses tzdata -y

Neste trinn er å laste ned binær CockroachDB ved hjelp av wget, som vist i kommandoen nedenfor:

wget -qO- https: // binærfiler.kakerlakk.com / kakerlakk-v20.2.3.linux-amd64.tgz

Når du har lastet ned binærfilen, trekker du ut filen.

tjære -xvf kakerlakk-v20.2.3.linux-amd64.tgz

For å starte CockroachDB-kommandoer fra et hvilket som helst skall, legg til binærfilen i banen din:

cp -i kakerlakk-v20.2.3. linux-amd64 / kakerlakk / usr / bin /

Kopier nødvendige biblioteker:

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 ferdig, bekreft at du har kakerlakk installert:

hvilken kakerlakk
/ usr / søppel / kakerlakk

Start en midlertidig klynge i minnet ved hjelp av kommandoen:

kakerlakkdemo

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

VIS BORD;

Hvordan installere PonyORM

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.

Installer Pony ved hjelp av pip:

pip3 installere ponni

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

>>> fra ponni. orm import *

Siden vi skal bruke PonyORM med CockroachDB, må vi installere den nødvendige driveren. For dette tilfellet må vi installere psycopg2. Bruk pip-kommandoen for å installere den nødvendige driveren.

pip installer psycopg2-binær

Sjekk om du har Psycopg installert ved hjelp av den interaktive pythonsesjonen, og skriv inn kommandoen:

importere psycopg

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

Hvordan lage en Python-applikasjon med CockroachDB og PonyORM

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

kakerlakk SQL

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

OPPRETT BRUKER HVIS IKKE eksisterer admin;
OPPRETT DATABASIS blogg;

Legg til de nødvendige rettighetene til adminbrukeren ved hjelp av kommandoen:

TILGJENG ALLE PÅ DATABASIS blogg til admin;
\ q;

Nå for appdelen:

Koden nedenfor bruker PonyORM til å samhandle med bloggdatabasen og tilordne Python-objekter og metoder til SQL-databasen.

Koden nedenfor utfører følgende operasjoner:

fra ponni.orm import *
importer datatid
database = Database ()
db_params = dict (provider = 'cockroach', user = 'admin',
host = 'localhost', port = 26257, database = 'blog')
klasse Bruker (database.Enhet):
first_name = Obligatorisk (unicode)
blogs = Set ("Blog")
klasse Blogg (database.Enhet):
brukernavn = Påkrevd (bruker)
title = Obligatorisk (unicode)
publish_date = Påkrevd (datetid.Dato)
category = Obligatorisk (unicode)
set_sql_debug (True)
database.bind (** db_params)
database.generere_mapping (create_tables = True)
@db_session
def create_blog ():
user = User (first_name = u "Admin")
blogg = Blogg (brukernavn = bruker,
title = u "Hallo verden",
publish_date = datetid.dato (2021, 1, 1),
category = u "Draft")
blogger = [

"bruker": bruker,
"title": "Hello world 1",
"publish_date": datetid.dato (2021, 1, 2),
"category": "Draft"
,

"bruker": bruker,
"title": "Hello world 2",
"publish_date": datetid.dato (2021, 1, 3),
"category": "Draft"
,

"bruker": bruker,
"title": "Hello world 3",
"publish_date": datetid.dato (2021,1,4),
"category": "Draft"

]
for blogg i blogger:
b_ = Blogg (** blogg)
hvis __name__ == "__main__":
create_blog ()
b_ = Bruker ("Admin")

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

FÅ NY TILKOBLING
TILKOBLING TIL SLIPP
FÅ TILKOBLING FRA DEN LOKALE POOLEN
BYTT TIL AUTOMATISK MODUS
OPPRETT TABELL "bruker" (
"id" SERIENØVRIG Nøkkel,
"fornavn" TEKST IKKE NULL
)
OPPRETT TABELL “blogg” (
“Id” SERIENØVRIG Nøkkel,
“Brukernavn” INT8 IKKE NULL,
“Tittel” TEKST IKKE NULL,
“Publish_date” DATO IKKE NULL,
“Kategori” TEKST IKKE NULL
)
OPPRETT INDEKS "idx_blog__username" PÅ "blogg" ("brukernavn")
ALTER TABELL "blogg" LEGG TIL KONSTRAINT "fk_blog__brukernavn" UTENLANDSK Nøkkel ("brukernavn") REFERANSER "bruker" ("id") PÅ SLETT KASKADE
VELG "blogg"."id", "blogg"."brukernavn", "blogg"."tittel", "blogg"."publish_date", "blog"."kategori"
FRA "blogg" "blogg"
HVOR 0 = 1
VELG "bruker"."id", "bruker"."fornavn"
FRA "bruker" "bruker"
HVOR 0 = 1

Konklusjon

Ved hjelp av appen ovenfor opprettet vi en enkel bloggapplikasjon som oppretter en bruker og tildeler blogger til brukernavnet. Vi la da 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 PonyORM til å lage en Python-app.

Etterlig museklikk ved å sveve med Clickless Mouse i Windows 10
Bruk av mus eller tastatur i feil stilling for overdreven bruk kan føre til mange helseproblemer, inkludert belastning, karpaltunnelsyndrom og mer. I ...
Mus Legg til musebevegelser i Windows 10 ved hjelp av disse gratisverktøyene
Legg til musebevegelser i Windows 10 ved hjelp av disse gratisverktøyene
De siste årene har datamaskiner og operativsystemer utviklet seg sterkt. Det var en tid da brukere måtte bruke kommandoer for å navigere gjennom filad...
Mus Kontroller og administrer musebevegelser mellom flere skjermer i Windows 10
Kontroller og administrer musebevegelser mellom flere skjermer i Windows 10
Dual Display Mouse Manager lar deg kontrollere og konfigurere musebevegelse mellom flere skjermer, ved å bremse bevegelsene nær grensen. Windows 10/8,...