So bauen Sie eine Python -App mit Kakerlachdb und Ponyorm

So bauen Sie eine Python -App mit Kakerlachdb und Ponyorm

In diesem Leitfaden stellen wir Sie mit Python mit Kakerlachdb und Ponyorm vor. Wir werden zunächst diskutieren, was diese Technologien sind, und dann diskutieren, wie sie funktionieren.

Bevor wir mit dem Aufbau einer Python -Anwendung mit Cockroachdb und Ponyorm beginnen, lassen Sie uns verstehen, was diese Technologien sind:

Was ist Kakerlachdb

CockroachDB ist eine hoch skalierbare Open-Source-SQL-Datenbank, die transaktionale und konsistente Schlüsselwertspeicher verwendet.

CockroachDB ist sehr effizient als Methode zur Sicherstellung der Datendauer und Wiederherstellung bei Versagen. Im Falle von Hardware- und Software-Fehlern kann es Daten aufbewahren, indem sie stark konsistente Replikationen seiner Daten und automatischen Reparaturen verwenden. Mit CockroachDB können Sie mit SQL API Daten mithilfe von SQL -Abfragen abfragen, strukturieren und manipulieren.

Mit der SQL -API bietet CockroachDB Entwicklern einen einfachen Übergang, da sie dieselben vertrauten Konzepte erhalten. Da es bereits vorhandene SQL -Treiber für die meisten Programmiersprachen gibt, wird es komfortabler, es zu verwenden.

Wir empfehlen, dass Sie sich die Dokumentation von CockroachdB für ein besseres Verständnis ansehen.

https: // linkfy.zu/cockroachdocs

Was ist Ponyorm

Ponyorm ist ein fortgeschrittener Python-Objekt-Relational-Mapper. Obwohl es andere Python -ORM wie Django und SQLalchemy gibt, ist Ponyorm vorteilhaft, da es Funktionen wie Unterstützung für Verbundtasten, automatische Abfragoptimierung sowie intuitive und unkomplizierte Abfragesyntax bietet.

Ein ORM ist einfach ein Tool, mit dem Sie mit einer SQL -Datenbank mit Ihrer bevorzugten Programmiersprache arbeiten können. Es gibt Entwicklern die Möglichkeit, mit den Daten in einer Datenbank in Form von Objekten zu arbeiten. Daher können Sie OOP für Ihre Sprache verwenden, um mit den Daten zu arbeiten.

Mit der Ponyorm -Bibliothek können wir Python -Sprache verwenden, um mit Daten in Kakerlachdb in Form von Objekten der relationalen Datenbank zu arbeiten.

Sie können die Ponyorm -Dokumentation als Referenz verwenden. Hier ist der Link:

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

So installieren Sie Cockroachdb unter Linux

Um Kakerlachdb auf Linux -Systemen zu installieren, befolgen Sie die Schritte in diesem Handbuch. Abhängig von Ihrer Systemkonfiguration müssen Sie einen Root -Zugriff haben oder ein Sudo -Benutzer sein.

Der erste Schritt besteht darin, sicherzustellen, dass Ihr System aktuell ist, und dann die erforderlichen Abhängigkeiten zu installieren. Hier ist der Befehl dafür:

sudo APT-Get-Update && sudo Apt-Get-Upgrade
sudo apt -Get Installation GLIBC libncurses Tzdata -y

Der nächste Schritt ist das Herunterladen der Kakerlachdb -Binary mit WGet, wie im folgenden Befehl gezeigt:

WGet -qo- https: // binärdateien.Kakerlachdb.com/cockroach-v20.2.3.Linux-AMD64.TGZ

Sobald Sie den binären Binär heruntergeladen haben, extrahieren Sie die Datei.

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

Fügen Sie den Binary zu Ihrem Pfad hinzu, um Kakerlachdb -Befehle aus jeder Shell zu starten:

CP -I Cockroach -V20.2.3. Linux-AMD64/Cockroach/usr/bin/

Kopieren Sie die erforderlichen Bibliotheken:

mkdir -p/usr/lib/cockroach
CP -I Cockroach -V20.2.3.Linux-AMD64/lib/libgeos.so/usr/lib/cockroach/
CP -I Cockroach -V20.2.3.Linux-Amd64/lib/libgeos_c.so/usr/lib/cockroach/

Stellen Sie nach Abschluss sicher, dass Sie Kakerlake installiert haben:

Welche Kakerlake
/usr/bin/kakerlake

Starten Sie einen temporären In-Memory-Cluster mit dem Befehl:

Kakerlake -Demo

Im Cluster können Sie eine interaktive SQL -Shell ausführen, um gültige SQL -Abfragen einzugeben:

Tische anzeigen;

So installieren Sie Ponyorm

Um Ponyorm zu installieren, sollten Sie eine installierte und ausgeführte Version von Python haben. Sie können sowohl Python 2 (tot) als auch python 3 verwenden.

Mit PIP Pony installieren:

PIP3 Pony installieren

Um zu testen, ob Sie Pony installiert haben, öffnen Sie den Python -Dolmetscher und geben Sie den Code ein.

>>> vom Pony. Orm Import *

Da wir Ponyorm mit Cockroachdb verwenden, müssen wir den erforderlichen Treiber installieren. Für diesen Fall müssen wir PSYCOPG2 installieren. Verwenden Sie den PIP -Befehl, um den erforderlichen Treiber zu installieren.

PIP Installieren Sie Psycopg2-Binär

Überprüfen Sie, ob PSYCOPG mit der interaktiven Python -Sitzung installiert ist, und geben Sie den Befehl ein:

psycopg importieren

Sobald Sie alles installiert haben, können Sie weitermachen und mit Cochroachdb und Ponyorm arbeiten:

So bauen Sie eine Python -Anwendung mit Cockroachdb und Ponyorm auf

Um eine Python -Anwendung zu erstellen, starten Sie mit dem Befehl eine interaktive SQL -Shell mit dem Befehl.

Kakerlake SQL

Der nächste Schritt besteht darin, eine Datenbank und einen Benutzer zu erstellen, mit dem Sie mit dem Befehl tun können:

Benutzer erstellen, falls dies nicht existiert, admin;
Datenbank -Blog erstellen;

Fügen Sie dem Administrator die erforderlichen Berechtigungen mit dem Befehl hinzu:

Gewähren Sie alle im Datenbank -Blog an Admin
\Q;

Nun für den App -Abschnitt:

Der folgende Code verwendet Ponyorm, um mit der Blog -Datenbank zu interagieren und die Python -Objekte und -Methoden der SQL -Datenbank zuzuordnen.

Der folgende Code führt die folgenden Vorgänge aus:

Aus Pony.Orm Import *
DateTime importieren
Datenbank = Datenbank ()
db_params = dict (provider = 'cockroach', user = 'admin' ',
Host = 'localhost', port = 26257, Database = 'Blog')
Klassenbenutzer (Datenbank.Juristische Person):
First_name = erforderlich (Unicode)
blogs = set ("blog")
Klassenblog (Datenbank.Juristische Person):
Benutzername = Erforderlich (Benutzer)
Titel = Erforderlich (Unicode)
publish_date = fordert (datetime.Datum)
Kategorie = Erforderlich (Unicode)
set_sql_debug (true)
Datenbank.bind (** db_params)
Datenbank.generate_mapping (create_tables = true)
@db_session
Def create_blog ():
user = user (first_name = u "admin"))
blog = blog (userername = user,
Titel = u "Hallo Welt",
publish_date = datetime.Datum (2021, 1, 1),
Kategorie = U "Entwurf")
Blogs = [

"Benutzer": Benutzer,
"Titel": "Hallo Welt 1",
"Publish_Date": DateTime.Datum (2021, 1, 2),
"Kategorie": "Entwurf"
,

"Benutzer": Benutzer,
"Titel": "Hallo Welt 2",
"Publish_Date": DateTime.Datum (2021, 1, 3),
"Kategorie": "Entwurf"
,

"Benutzer": Benutzer,
"Titel": "Hallo Welt 3",
"Publish_Date": DateTime.Datum (2021,1,4),
"Kategorie": "Entwurf"

]
Für Blogs in Blogs:
B_ = Blog (** Blog)
Wenn __name__ == "__main__":
Blog erstellen()
b_ = user ("admin")

Sobald Sie die App ausgeführt haben, sollten Sie eine ähnliche Ausgabe der unten gezeigten Ausgabe sehen:

Neue Verbindung erhalten
Verbreitung freigeben
Holen Sie sich eine Verbindung aus dem örtlichen Pool
Wechseln Sie in den AutoCommit -Modus
Tabelle "Benutzer" erstellen (
"ID" serieller Primärschlüssel,
"First_Name" -Text nicht null
)
Erstellen Sie Tabelle "Blog" (
"ID" serieller Primärschlüssel,
"Benutzername" int8 nicht null,
"Titel" Text nicht null,
"Publish_date" Datum nicht null,
"Kategorie" Text nicht null
)
Erstellen Sie den Index "idx_blog__username" auf "Blog" ("Benutzername")
Änderungstabelle "Blog" Einschränkung hinzufügen "fk_blog__username" Fremd Key ("Benutzername") Referenzen "Benutzer" ("ID") auf Löschen der Kaskade
Wählen Sie "Blog"."ID", "Blog"."Benutzername", "Blog"."Titel", "Blog"."Publish_date", "Blog"."Kategorie"
Aus "Blog" "Blog"
Wo 0 = 1
Nutzer wählen"."ID", "Benutzer"."Vorname"
Von "Benutzer" "Benutzer"
Wo 0 = 1

Abschluss

Mithilfe der App der App haben wir eine einfache Blog -Anwendung erstellt, die einen Benutzer erstellt und dem Benutzernamen Blogs zuweist. Wir haben dann die Daten in die Datenbank hinzugefügt, die wir mit SQL -Abfragen abfragen können. Obwohl die App einfach ist, zeigt sie, wie wir Kakerlachdb und Ponyorm verwenden können, um eine Python -App zu erstellen.