Python

Sådan opbygges en Python-app med CockroachDB og PonyORM

Sådan opbygges en Python-app med CockroachDB og PonyORM

I denne vejledning introducerer vi dig til CockroachDB og PonyORM ved hjælp af Python. Vi starter med at diskutere, hvad disse teknologier er, og derefter diskutere, hvordan de fungerer.

Før vi begynder at opbygge en Python-applikation med CockroachDB og PonyORM, lad os forstå, hvad disse teknologier er:

Hvad er CockroachDB

CockroachDB er en meget skalerbar, distribueret SQL-database med open source, der bruger transaktionelle og ensartede nøgleværdilagre.

CockroachDB er meget effektiv som en metode til at sikre data vedholdenhed og gendannelse i tilfælde af fiasko. I tilfælde af hardware- og softwarefejl kan det bevare data ved hjælp af stærkt konsistente replikationer af dets data og automatiske reparationer. Ved hjælp af SQL API giver CockroachDB dig mulighed for at forespørge, strukturere og manipulere data ved hjælp af SQL-forespørgsler.

Ved hjælp af SQL API giver CockroachDB udviklere en nem overgang, da de får de samme velkendte koncepter. Fordi det allerede har eksisterende SQL-drivere til de fleste programmeringssprog, bliver det mere behageligt at bruge det.

Vi anbefaler, at du tjekker CockroachDB-dokumentationen for en bedre forståelse.

https: // linkfy.til / kakerlakDokumenter

Hvad er PonyORM

PonyORM er en avanceret Python Object-Relational Mapper. Selvom der er andre Python ORM som Django og SQLAlchemy, er PonyORM fordelagtig, fordi den har funktioner som understøttelse af sammensatte nøgler, automatisk forespørgsel optimering og intuitiv og ligetil forespørgsel syntaks.

En ORM er simpelthen et værktøj, der giver dig mulighed for at arbejde med en SQL-database ved hjælp af dit foretrukne programmeringssprog. Det giver udviklere mulighed for at arbejde med dataene i en database i form af objekter; Derfor kan du bruge OOP til dit sprog til at arbejde med dataene.

Ved hjælp af PonyORM-biblioteket kan vi bruge Python-sprog til at arbejde med data i CockroachDB i form af objekter i relationsdatabasen.

Du kan bruge PonyORM-dokumentationen til reference. Her er linket:

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

Sådan installeres CockroachDB på Linux

For at installere CockroachDB på Linux-systemer skal du følge trinene i denne vejledning, og afhængigt af din systemkonfiguration skal du have rootadgang eller være en sudo-bruger.

Det første trin er at sikre, at dit system er opdateret og derefter installere de nødvendige afhængigheder. Her er kommandoen for det:

sudo apt-get opdatering && sudo apt-get upgrade
sudo apt-get install glibc libncurses tzdata -y

Det næste trin er at downloade CockroachDB binær ved hjælp af wget, som vist i kommandoen nedenfor:

wget -qO- https: // binære filer.kakerlakdb.com / kakerlak-v20.2.3.linux-amd64.tgz

Når du har downloadet binærprogrammet, skal du udtrække filen.

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

For at starte CockroachDB-kommandoer fra enhver skal skal du tilføje binærprogrammet til din sti:

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

Kopier de påkrævede biblioteker:

mkdir -p / usr / lib / kakerlak
cp -i kakerlak-v20.2.3.linux-amd64 / lib / libgeos.så / usr / lib / kakerlak /
cp -i kakerlak-v20.2.3.linux-amd64 / lib / libgeos_c.så / usr / lib / kakerlak /

Når du er færdig, skal du bekræfte, at du har kakerlak installeret:

hvilken kakerlak
/ usr / bin / kakerlak

Start en midlertidig klynge i hukommelsen ved hjælp af kommandoen:

kakerlak demo

Inde i klyngen kan du køre en interaktiv SQL-skal for at indtaste gyldige SQL-forespørgsler:

VIS BORD;

Sådan installeres PonyORM

For at installere PonyORM skal du have en installeret og kørende version af Python. Du kan bruge både Python 2 (død) eller Python 3.

Brug pip til at installere Pony:

pip3 installer pony

For at teste, om du har Pony installeret, skal du åbne Python-tolk og indtaste koden.

>>> fra pony. orm import *

Da vi bruger PonyORM med CockroachDB, skal vi installere den nødvendige driver. I dette tilfælde skal vi installere psycopg2. Brug pip-kommandoen til at installere den nødvendige driver.

pip installer psycopg2-binær

Kontroller, om du har Psycopg installeret ved hjælp af den interaktive pythonsession, og indtast kommandoen:

importere psycopg

Når du har alt installeret, kan du gå videre og begynde at arbejde med CochroachDB og PonyORM:

Sådan oprettes en Python-applikation med CockroachDB og PonyORM

For at oprette en pythonapplikation skal du starte med at starte en interaktiv SQL-skal ved hjælp af kommandoen.

kakerlak SQL

Det næste trin er at oprette en database og bruger at interagere med, som du kan gøre ved hjælp af kommandoen:

OPRET BRUGER, HVIS IKKE FINDER admin;
OPRET DATABASE blog;

Tilføj de nødvendige rettigheder til adminbrugeren ved hjælp af kommandoen:

TILSLUT ALLE PÅ DATABASE blog TIL admin;
\ q;

Nu til app sektionen:

Koden nedenfor bruger PonyORM til at interagere med blogdatabasen og kortlægge Python-objekterne og metoderne til SQL-databasen.

Koden nedenfor udfører følgende operationer:

fra pony.orm import *
importer datatid
database = Database ()
db_params = dict (provider = 'kakerlak', bruger = 'admin',
vært = 'localhost', port = 26257, database = 'blog')
klasse Bruger (database.Enhed):
first_name = Påkrævet (unicode)
blogs = Set ("Blog")
klasse Blog (database.Enhed):
brugernavn = påkrævet (bruger)
title = Påkrævet (unicode)
publish_date = Påkrævet (datetime.dato)
kategori = påkrævet (unicode)
set_sql_debug (True)
database.bind (** db_params)
database.create_mapping (create_tables = True)
@db_session
def create_blog ():
bruger = bruger (fornavn = u "administrator")
blog = Blog (brugernavn = bruger,
title = u "Hej verden",
publish_date = datetid.dato (2021, 1, 1),
category = u "Draft")
blogs = [

"bruger": bruger,
"title": "Hej verden 1",
"publish_date": datetid.dato (2021, 1, 2),
"category": "Draft"
,

"bruger": bruger,
"title": "Hej verden 2",
"publish_date": datetid.dato (2021, 1, 3),
"category": "Draft"
,

"bruger": bruger,
"title": "Hej verden 3",
"publish_date": datetid.dato (2021,1,4),
"category": "Draft"

]
til blog i blogs:
b_ = Blog (** blog)
hvis __name__ == "__main__":
create_blog ()
b_ = Bruger ("Admin")

Når du har kørt appen, skal du se en output svarende til den, der er vist nedenfor:

FÅ NY FORBINDELSE
FORBINDELSE MED RELEASE
FÅ TILSLUTNING FRA DET LOKALE POOL
SKIFT TIL AUTOMATISK TILSTAND
Opret TABEL "bruger" (
"id" SERIEN PRIMÆR NØGLE,
"fornavn" TEKST IKKE NULL
)
Opret TABEL “blog” (
“Id” SERIE PRIMÆR NØGLE,
“Brugernavn” INT8 IKKE NULL,
“Titel” TEKST IKKE NULL,
“Publish_date” DATO IKKE NULL,
“Kategori” TEKST IKKE NULL
)
OPRET INDEKS "idx_blog__username" ON "blog" ("brugernavn")
ALTER TABEL "blog" TILFØJ KONTRAST "fk_blog__username" UDENLANDSK KEY ("brugernavn") REFERENCER "bruger" ("id") PÅ SLET KASKADE
VÆLG "blog"."id", "blog"."brugernavn", "blog"."titel", "blog"."publish_date", "blog"."kategori"
FRA "blog" "blog"
HVOR 0 = 1
VÆLG "bruger"."id", "bruger"."fornavn"
FRA "bruger" "bruger"
HVOR 0 = 1

Konklusion

Ved hjælp af appen ovenfor oprettede vi en simpel blogapplikation, der opretter en bruger og tildeler blogs til brugernavnet. Vi tilføjede derefter dataene i databasen, som vi kan spørge ved hjælp af SQL-forespørgsler. Selvom appen er enkel, illustrerer den, hvordan vi kan bruge CockroachDB og PonyORM til at oprette en Python-app.

Top 10 spil at spille på Ubuntu
Windows-platform har været en af ​​de dominerende platforme til spil på grund af den enorme procentdel af spil, der udvikler sig i dag til indbygget a...
5 bedste arkadespil til Linux
I dag er computere seriøse maskiner, der bruges til spil. Hvis du ikke kan få den nye høje score, ved du hvad jeg mener. I dette indlæg vil du kende n...
Kamp om Wesnoth 1.13.6 Udvikling frigivet
Kamp om Wesnoth 1.13.6 udgivet i sidste måned, er den sjette udviklingsudgivelse i 1.13.x-serien, og den leverer en række forbedringer, især til bruge...