Pitone

Come creare un'app Python con CockroachDB e PonyORM

Come creare un'app Python con CockroachDB e PonyORM

In questa guida, ti presenteremo CockroachDB e PonyORM usando Python. Inizieremo discutendo di cosa sono queste tecnologie e poi discuteremo di come funzionano.

Prima di iniziare a creare un'applicazione Python con CockroachDB e PonyORM, capiamo quali sono queste tecnologie:

Cos'è CockroachDB

CockroachDB è un database SQL distribuito, open source e altamente scalabile che utilizza archivi chiave-valore transazionali e coerenti.

CockroachDB è un metodo molto efficiente per garantire la persistenza e il ripristino dei dati in caso di guasto. In caso di guasti hardware e software, può preservare i dati utilizzando repliche forti e coerenti dei propri dati e riparazioni automatiche. Utilizzando l'API SQL, CockroachDB ti consente di interrogare, strutturare e manipolare i dati utilizzando le query SQL.

Utilizzando l'API SQL, CockroachDB fornisce agli sviluppatori una facile transizione poiché ottengono gli stessi concetti familiari. Poiché dispone già di driver SQL esistenti per la maggior parte dei linguaggi di programmazione, utilizzarlo diventa più comodo.

Ti consigliamo di consultare la documentazione di CockroachDB per una migliore comprensione.

https://linkfy.a/scarafaggioDocs

Cos'è PonyORM

PonyORM è un mappatore relazionale a oggetti Python avanzato. Sebbene esistano altri ORM Python come Django e SQLAlchemy, PonyORM è vantaggioso perché ha funzionalità come il supporto per chiavi composite, ottimizzazione automatica delle query e sintassi di query intuitiva e diretta.

Un ORM è semplicemente uno strumento che ti consente di lavorare con un database SQL utilizzando il tuo linguaggio di programmazione preferito. Offre agli sviluppatori la possibilità di lavorare con i dati all'interno di un database sotto forma di oggetti; quindi, puoi usare OOP per la tua lingua per lavorare con i dati.

Utilizzando la libreria PonyORM, possiamo utilizzare il linguaggio Python per lavorare con i dati in CockroachDB sotto forma di oggetti del database relazionale.

Puoi usare la documentazione di PonyORM come riferimento. Ecco il collegamento:

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

Come installare CockroachDB su Linux

Per installare CockroachDB su sistemi Linux, segui i passaggi in questa guida e, a seconda della configurazione del tuo sistema, dovrai avere accesso root o essere un utente sudo.

Il primo passo è assicurarsi che il proprio sistema sia aggiornato e quindi installare le dipendenze richieste. Ecco il comando per questo:

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

Il prossimo passo è scaricare il binario CockroachDB usando wget, come mostrato nel comando seguente:

wget -qO- https://binari.scarafaggio.com/scarafaggio-v20.2.3.linux-amd64.tgz

Una volta scaricato il binario, estrai il file.

tar -xvf scarafaggio-v20.2.3.linux-amd64.tgz

Per avviare i comandi CockroachDB da qualsiasi shell, aggiungi il binario al tuo percorso:

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

Copia le librerie richieste:

mkdir -p /usr/lib/scarafaggio
cp -i scarafaggio-v20.2.3.linux-amd64/lib/libgeos.quindi /usr/lib/scarafaggio/
cp -i scarafaggio-v20.2.3.linux-amd64/lib/libgeos_c.quindi /usr/lib/scarafaggio/

Una volta completato, conferma di aver installato Cockroach:

quale scarafaggio
/usr/bin/scarafaggio

Avvia un cluster in memoria temporaneo utilizzando il comando:

dimostrazione di scarafaggi

All'interno del cluster, puoi eseguire una shell SQL interattiva per inserire query SQL valide:

MOSTRA TABELLE;

Come installare PonyORM

Per installare PonyORM, dovresti avere una versione installata e funzionante di Python. Puoi usare sia Python 2 (morto) che Python 3.

Usando pip, installa Pony:

pip3 installa pony

Per verificare se hai installato Pony, apri l'interprete Python e inserisci il codice.

>>> da pony. importazione dell'ordine *

Poiché utilizzeremo PonyORM con CockroachDB, dobbiamo installare il driver richiesto. In questo caso, dobbiamo installare psycopg2. Usa il comando pip per installare il driver necessario.

pip install psycopg2-binary

Controlla se hai installato Psycopg usando la sessione Python interattiva e inserisci il comando:

import psycopg

Una volta installato tutto, puoi andare avanti e iniziare a lavorare con CochroachDB e PonyORM:

Come costruire un'applicazione Python con CockroachDB e PonyORM

Per creare un'applicazione Python, inizia avviando una shell SQL interattiva usando il comando.

scarafaggio SQL

Il prossimo passo è creare un database e un utente con cui interagire, cosa che puoi fare usando il comando:

CREA UTENTE SE NON ESISTE admin;
blog CREA DATABASE;

Aggiungi i privilegi necessari all'utente amministratore utilizzando il comando:

CONCEDERE TUTTO SU DATABASE blog AD admin;
\q;

Ora per la sezione app:

Il codice seguente utilizza PonyORM per interagire con il database del blog e mappare gli oggetti e i metodi Python nel database SQL.

Il codice sottostante esegue le seguenti operazioni:

da pony.importazione dell'ordine *
data e ora di importazione
banca dati = banca dati ()
db_params = dict(provider='scarafaggio', utente='admin',
host='localhost', porta=26257, database='blog')
classe Utente (database.Entità):
first_name = Richiesto (unicode)
blog = Set("Blog")
classe Blog(database.Entità):
nome utente = Richiesto (Utente)
titolo = Richiesto (unicode)
publish_date = Richiesto (datetime.Data)
categoria = Richiesto (unicode)
set_sql_debug(Vero)
Banca dati.bind(**db_params)
Banca dati.generate_mapping(create_tables=True)
@db_session
def create_blog():
utente = Utente(first_name=u"Admin")
blog = Blog (nome utente=utente,
title=u"Ciao mondo",
publish_date=datetime.data(2021, 1, 1),
categoria=u"Bozza")
blog = [

"utente": utente,
"titolo": "Ciao mondo 1",
"data_pubblicazione": data e ora.data (2021, 1, 2),
"categoria": "Bozza"
,

"utente": utente,
"titolo": "Ciao mondo 2",
"data_pubblicazione": data e ora.data (2021, 1, 3),
"categoria": "Bozza"
,

"utente": utente,
"titolo": "Ciao mondo 3",
"data_pubblicazione": data e ora.data (2021,1,4),
"categoria": "Bozza"

]
per blog nei blog:
b_ = Blog(**blog)
if __name__ == "__main__":
crea_blog()
b_ = Utente("Amministratore")

Una volta eseguita l'app, dovresti vedere un output simile a quello mostrato di seguito:

OTTIENI NUOVA CONNESSIONE
RILASCIO CONNESSIONE
CONNESSIONE DALLA PISCINA LOCALE
PASSA ALLA MODALITÀ AUTOCOMMIT
CREA TABELLA "utente" (
CHIAVE PRIMARIA SERIALE "id",
"first_name" TESTO NON NULL
)
CREA TABELLA “blog” (
CHIAVE PRIMARIA SERIALE “id”,
“nome utente” INT8 NOT NULL,
“titolo” TESTO NON NULL,
“data_pubblicazione” DATA NOT NULL,
“categoria” TESTO NON NULL
)
CREA INDICE "idx_blog__username" SU "blog" ("username")
ALTER TABLE "blog" ADD CONSTRAINT "fk_blog__username" CHIAVE ESTERA ("username") REFERENZE "user" ("id") ON DELETE CASCADE
SELEZIONA "blog"."id", "blog"."nome utente", "blog"."titolo", "blog"."data_pubblicazione", "blog"."categoria"
DA "blog" "blog"
DOVE 0 = 1
SELEZIONA "utente"."id", "utente"."nome di battesimo"
FROM "utente" "utente"
DOVE 0 = 1

Conclusione

Utilizzando l'app sopra, abbiamo creato una semplice applicazione per blog che crea un utente e assegna i blog al nome utente. Abbiamo quindi aggiunto i dati nel database, che possiamo interrogare utilizzando le query SQL. Sebbene l'app sia semplice, illustra come possiamo utilizzare CockroachDB e PonyORM per creare un'app Python.

Come mostrare il contatore FPS nei giochi Linux
I giochi Linux hanno avuto una grande spinta quando Valve ha annunciato il supporto Linux per il client Steam e i loro giochi nel 2012. Da allora, mol...
Come scaricare e giocare a Sid Meier's Civilization VI su Linux
Introduzione al gioco Civilization 6 è una versione moderna del concetto classico introdotto nella serie dei giochi Age of Empires. L'idea era abbasta...
Come installare e giocare a Doom su Linux
Introduzione a Doom La serie Doom è nata negli anni '90 dopo l'uscita dell'originale Doom. È stato un successo immediato e da quel momento in poi la s...