Piton

Cum să construiești o aplicație Python cu CockroachDB și PonyORM

Cum să construiești o aplicație Python cu CockroachDB și PonyORM

În acest ghid, vă vom prezenta CockroachDB și PonyORM folosind Python. Vom începe prin a discuta care sunt aceste tehnologii și apoi vom discuta despre modul în care funcționează.

Înainte de a începe să construim o aplicație Python cu CockroachDB și PonyORM, să înțelegem ce sunt aceste tehnologii:

Ce este CockroachDB

CockroachDB este o bază de date SQL distribuită extrem de scalabilă, open-source, care utilizează stocuri de valori cheie tranzacționale și consistente.

CockroachDB este foarte eficient ca metodă de asigurare a persistenței și recuperării datelor în caz de eșec. În caz de defecțiuni ale hardware-ului și software-ului, acesta poate păstra datele utilizând replici puternice ale datelor sale și reparații automate. Folosind SQL API, CockroachDB vă permite să interogați, să structurați și să manipulați date folosind interogări SQL.

Folosind API-ul SQL, CockroachDB oferă dezvoltatorilor o tranziție ușoară, deoarece primesc aceleași concepte familiare. Deoarece are deja driverele SQL existente pentru majoritatea limbajelor de programare, utilizarea acestuia devine mai confortabilă.

Vă recomandăm să consultați documentația CockroachDB pentru o mai bună înțelegere.

https: // linkfy.către / gândac Docs

Ce este PonyORM

PonyORM este un Python Advanced Map-Relational Mapper. Deși există alte ORM Python, cum ar fi Django și SQLAlchemy, PonyORM este avantajos deoarece are caracteristici precum suport pentru taste compozite, optimizare automată a interogărilor și sintaxă de interogare intuitivă și simplă.

Un ORM este pur și simplu un instrument care vă permite să lucrați cu o bază de date SQL folosind limbajul de programare preferat. Oferă dezvoltatorilor posibilitatea de a lucra cu datele dintr-o bază de date sub formă de obiecte; prin urmare, puteți utiliza OOP pentru limba dvs. pentru a lucra cu datele.

Folosind biblioteca PonyORM, putem folosi limbajul Python pentru a lucra cu date în CockroachDB sub forma obiectelor bazei de date relaționale.

Puteți utiliza documentația PonyORM pentru referință. Iată linkul:

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

Cum se instalează CockroachDB pe Linux

Pentru a instala CockroachDB pe sisteme Linux, urmați pașii din acest ghid și, în funcție de configurația sistemului, va trebui să aveți acces root sau să fiți un utilizator sudo.

Primul pas este să vă asigurați că sistemul dvs. este actualizat și apoi instalați dependențele necesare. Iată comanda pentru asta:

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

Următorul pas este să descărcați binarul CockroachDB utilizând wget, așa cum se arată în comanda de mai jos:

wget -qO- https: // binare.gandac.com / gândac-v20.2.3.linux-amd64.tgz

După ce ați descărcat binarul, extrageți fișierul.

tar -xvf gândac-v20.2.3.linux-amd64.tgz

Pentru a lansa comenzile CockroachDB din orice shell, adăugați binarul la calea dvs.:

cp -i gandac-v20.2.3. linux-amd64 / gândac / usr / bin /

Copiați bibliotecile necesare:

mkdir -p / usr / lib / gândac
cp -i gandac-v20.2.3.linux-amd64 / lib / libgeos.deci / usr / lib / gândac /
cp -i gandac-v20.2.3.linux-amd64 / lib / libgeos_c.deci / usr / lib / gândac /

După finalizare, confirmați că aveți instalat gândacul:

care gandac
/ usr / bin / gândac

Porniți un cluster temporar, în memorie, utilizând comanda:

demo de gândaci

În interiorul clusterului, puteți rula un shell SQL interactiv pentru a introduce interogări SQL valide:

MESAJE DE AFIȘARE;

Cum se instalează PonyORM

Pentru a instala PonyORM, ar trebui să aveți o versiune instalată și care rulează Python. Puteți utiliza atât Python 2 (mort), fie Python 3.

Folosind pip, instalați Pony:

pip3 instalează ponei

Pentru a testa dacă aveți instalat Pony, deschideți interpretul Python și introduceți codul.

>>> din ponei. import ORM *

Deoarece vom folosi PonyORM cu CockroachDB, trebuie să instalăm driverul necesar. Pentru acest caz, trebuie să instalăm psycopg2. Utilizați comanda pip pentru a instala driverul necesar.

pip instalează psycopg2-binary

Verificați dacă aveți instalat Psycopg folosind sesiunea interioară python și introduceți comanda:

import psycopg

După ce aveți totul instalat, puteți trece mai departe și puteți începe să lucrați cu CochroachDB și PonyORM:

Cum să construiești o aplicație Python cu CockroachDB și PonyORM

Pentru a construi o aplicație python, începeți prin lansarea unui shell SQL interactiv folosind comanda.

gândac SQL

Următorul pas este să creați o bază de date și un utilizator cu care să interacționați, lucru pe care îl puteți face folosind comanda:

CREAȚI UTILIZATOR DACĂ NU EXISTĂ admin;
CREATE DATABASE blog;

Adăugați privilegiile necesare utilizatorului de administrator folosind comanda:

ACORDĂ TOTUL PE BAZA DE BAZE blog către administrator;
\ q;

Acum, pentru secțiunea aplicație:

Codul de mai jos folosește PonyORM pentru a interacționa cu baza de date a blogului și pentru a mapa obiectele și metodele Python la baza de date SQL.

Codul de mai jos efectuează următoarele operațiuni:

din ponei.import ORM *
import datetime
baza de date = baza de date ()
db_params = dict (furnizor = 'gândac', utilizator = 'administrator',
host = 'localhost', port = 26257, baza de date = 'blog')
clasă Utilizator (bază de date.Entitate):
first_name = Obligatoriu (unicode)
bloguri = Set ("Blog")
clasă Blog (bază de date.Entitate):
nume utilizator = Obligatoriu (Utilizator)
title = Obligatoriu (unicode)
publish_date = Obligatoriu (datetime.Data)
categorie = Obligatoriu (unicode)
set_sql_debug (Adevărat)
Bază de date.legare (** db_params)
Bază de date.generate_mapping (create_tables = True)
@db_session
def create_blog ():
utilizator = Utilizator (prenume = u "Administrator")
blog = Blog (nume de utilizator = utilizator,
title = u "Hello world",
publish_date = datetime.data (2021, 1, 1),
category = u "Proiect")
bloguri = [

„utilizator”: utilizator,
"title": "Hello world 1",
„publicați_dată”: datetime.data (2021, 1, 2),
"category": "Proiect"
,

„utilizator”: utilizator,
"title": "Hello world 2",
„publicați_dată”: datetime.data (2021, 1, 3),
"category": "Proiect"
,

„utilizator”: utilizator,
"title": "Hello world 3",
„publicați_dată”: datetime.data (2021,1,4),
"category": "Proiect"

]
pentru blog în bloguri:
b_ = Blog (** blog)
dacă __name__ == "__main__":
create_blog ()
b_ = Utilizator („Administrator”)

După ce rulați aplicația, ar trebui să vedeți o ieșire similară cu cea prezentată mai jos:

Obțineți o conexiune nouă
CONEXIUNE DE ELIBERARE
OBȚINEȚI CONEXIUNE DE LA PISCINA LOCALĂ
COMUTAȚI LA MODUL DE AUTOCOMITARE
CREAȚI TABELUL „utilizator” (
CHEIE PRIMARĂ SERIALĂ „id”,
TEXTUL „prenume” NU ESTE NUL
)
CREAȚI TABELUL „blog” (
CHEIE PRIMARĂ „ID” SERIALĂ,
„Username” INT8 NOT NULL,
TEXTUL „titlu” NU ESTE NUL,
„Publicați_dată” DATA NU ESTE NULĂ,
TEXT „categorie” NU NUL
)
CREARE INDEX "idx_blog__username" ON "blog" ("username")
ALTER TABLE "blog" ADD CONSTRAINT "fk_blog__username" CHEIE STRĂINĂ ("nume utilizator") REFERINȚE "utilizator" ("id") PE ȘTERGEREA CASCADEI
Alegeți „blogul”.„id”, „blog”.„nume de utilizator”, „blog”.„titlu”, „blog”.„publicați_dată”, „blog”."categorie"
DIN „blog” „blog”
UNDE 0 = 1
Selectați „utilizator”.„id”, „utilizator”."Nume"
DIN „utilizator” „utilizator”
UNDE 0 = 1

Concluzie

Folosind aplicația de mai sus, am creat o aplicație simplă de blog care creează un utilizator și atribuie bloguri numele de utilizator. Apoi am adăugat datele în baza de date, pe care le putem interoga folosind interogări SQL. Deși aplicația este simplă, ilustrează modul în care putem folosi CockroachDB și PonyORM pentru a crea o aplicație Python.

Cele mai bune 5 jocuri arcade pentru Linux
În zilele noastre, computerele sunt mașini serioase folosite pentru jocuri. Dacă nu puteți obține noul scor mare, veți ști la ce mă refer. În această ...
Battle For Wesnoth 1.13.6 Development Released
Battle For Wesnoth 1.13.6 released last month, is the sixth development release in the 1.13.x series and it delivers a number of improvements, most no...
Cum se instalează League Of Legends pe Ubuntu 14.04
Dacă ești fan al League of Legends, atunci aceasta este o oportunitate pentru tine de a testa rula League of Legends. Rețineți că LOL este acceptat pe...