Come costruire un'app Python con Crowroachdb e Ponyorm

Come costruire un'app Python con Crowroachdb e Ponyorm

In questa guida, ti presenteremo a Cockroachdb e Ponyorm usando Python. Inizieremo discutendo quali sono queste tecnologie e poi discuteremo di come funzionano.

Prima di iniziare a costruire un'applicazione Python con Crowroachdb e Ponyorm, capiamo quali sono queste tecnologie:

Cos'è la crowroachdb

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

CockroachDB è molto efficiente come metodo per garantire la persistenza e il recupero dei dati in caso di fallimento. In caso di errori di hardware e software, può preservare i dati utilizzando repliche forti di dati e riparazioni automatiche. Utilizzando API SQL, Ccadese ti consente di interrogare, struttura e manipolare i dati utilizzando query SQL.

Usando l'API SQL, CockroachDB offre agli sviluppatori una transizione facile in quanto ottengono gli stessi concetti familiari. Perché ha già driver SQL esistenti per la maggior parte dei linguaggi di programmazione, usarlo diventa più comodo.

Ti consigliamo di dare un'occhiata alla documentazione di Cockroachdb per una migliore comprensione.

https: // linkfy.a/cockroachdocs

Cos'è Ponyorm

Ponyorm è un mapper avanzato di Python Object-Relational. Sebbene ci siano altri ORM Python come Django e Sqlalchemy, Ponyorm è vantaggioso perché ha caratteristiche come il supporto per chiavi composite, ottimizzazione automatica delle query e sintassi intuitiva e diretta.

Un ORM è semplicemente uno strumento che ti consente di lavorare con un database SQL utilizzando il linguaggio di programmazione preferito. Offre agli sviluppatori la capacità 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 usare il linguaggio Python per lavorare con i dati in crowroachdb sotto forma di oggetti del database relazionale.

È possibile utilizzare la documentazione di Ponyorm per riferimento. Ecco il link:

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

Come installare Cockroachdb su Linux

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

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

aggiornamento sudo apt-get && sudo apt-get upgrade
sudo apt -get installa glabc libncurses tzdata -y

Il prossimo passo è scaricare il binario di Cockroachdb usando Wget, come mostrato nel comando seguente:

wget -qo- https: // binaries.scarafaggio.com/scarafaggio-v20.2.3.Linux-AMD64.TGZ

Una volta scaricato il binario, estrarre il file.

TAR -XVF CACQUOACH -V20.2.3.Linux-AMD64.TGZ

Per lanciare i comandi di Cockroachdb da qualsiasi shell, aggiungi il binario al tuo percorso:

CP -i scarafaggio -V20.2.3. Linux-Amd64/Clollaach/USR/Bin/

Copia le librerie richieste:

mkdir -p/usr/lib/scarafaggio
CP -i scarafaggio -V20.2.3.Linux-AMD64/lib/libgeos.SO/USR/LIB/scarafaggio/
CP -i scarafaggio -V20.2.3.Linux-AMD64/lib/libgeos_c.SO/USR/LIB/scarafaggio/

Una volta completato, conferma che hai installato lo scarafaggio:

quale scarafaggio
/usr/bin/scarafaggio

Avviare un cluster temporaneo e in memoria usando il comando:

Demo di scarafaggio

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

Mostra i tavoli;

Come installare Ponyorm

Per installare Ponyorm, dovresti avere una versione installata e in esecuzione di Python. Puoi usare sia Python 2 (Dead) o Python 3.

Usando PIP, Installa Pony:

PIP3 Installa pony

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

>>> da pony. Orm Import *

Dal momento che useremo Ponyorm con Cockroachdb, dobbiamo installare il driver richiesto. In questo caso, dobbiamo installare Psycopg2. Utilizzare il comando PIP per installare il driver necessario.

PIP Installa Psycopg2-binario

Controlla se è stato installato Psycopg utilizzando la sessione Python interattiva e immettere il comando:

Importa Psycopg

Una volta installato tutto, puoi andare avanti e iniziare a lavorare con Cochroachdb e Ponyorm:

Come costruire un'applicazione Python con Crowroachdb e Ponyorm

Per creare un'applicazione Python, inizia avviando una shell SQL interattiva utilizzando 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 amministratore;
Creare blog di database;

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

Concedere tutto sul blog di database a amministratore;
\Q;

Ora per la sezione dell'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 seguente esegue le seguenti operazioni:

da pony.Orm Import *
Importa DateTime
database = database ()
db_params = dict (provider = 'cockroach', user = 'admin',
host = 'localhost', port = 26257, database = 'blog')
Utente di classe (database.Entità):
first_name = richiesto (Unicode)
blogs = set ("blog")
Blog di classe (database.Entità):
nome utente = richiesto (utente)
Titolo = richiesto (Unicode)
publish_date = richiesto (datetime.data)
Categoria = richiesta (Unicode)
set_sql_debug (true)
Banca dati.bind (** db_params)
Banca dati.generare_mapping (create_tables = true)
@db_session
def create_blog ():
utente = utente (first_name = u "admin")
blog = blog (nome utente = utente,
title = u "Hello World",
Pubblish_date = DateTime.Data (2021, 1, 1),
categoria = u "bozza")
Blogs = [

"Utente": utente,
"Titolo": "Hello World 1",
"Pubblish_date": DateTime.Data (2021, 1, 2),
"Categoria": "Draft"
,

"Utente": utente,
"Titolo": "Hello World 2",
"Pubblish_date": DateTime.Data (2021, 1, 3),
"Categoria": "Draft"
,

"Utente": utente,
"Titolo": "Hello World 3",
"Pubblish_date": DateTime.Data (2021,1,4),
"Categoria": "Draft"

"
Per blog nei blog:
B_ = blog (** blog)
Se __Name__ == "__main__":
create_blog ()
b_ = utente ("amministratore")

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

Ottieni una nuova connessione
Connessione di rilascio
Ottieni la connessione dal pool locale
Passa alla modalità Autocommit
Crea la tabella "utente" (
Chiave primaria seriale "id",
testo "first_name" non null
)
Crea la tabella "blog" (
Chiave primaria seriale "ID",
"Nome utente" int8 non null,
"Titolo" Non null,
Data "pubblica_date" non null,
Testo "categoria" non null
)
Crea indice "idx_blog__username" sul "blog" ("nome utente")
Alter tabella "blog" aggiungi vincolo "fk_blog__username" chiave straniera ("nome utente") riferimenti "utente" ("id") su elimina cascade
Seleziona "Blog"."id", "blog"."nome utente", "blog"."Titolo", "Blog"."pubblica_date", "blog"."categoria"
Dal blog "blog" "
Dove 0 = 1
Seleziona "Utente"."id", "utente"."nome di battesimo"
Dall'utente "utente" "
Dove 0 = 1

Conclusione

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