Python

So erstellen Sie eine Python-App mit CockroachDB und PonyORM

So erstellen Sie eine Python-App mit CockroachDB und PonyORM

In diesem Handbuch stellen wir Ihnen CockroachDB und PonyORM mit Python vor. Wir werden zunächst diskutieren, was diese Technologien sind, und dann diskutieren, wie sie funktionieren.

Bevor wir mit der Entwicklung einer Python-Anwendung mit CockroachDB und PonyORM beginnen, sollten wir uns mit diesen Technologien vertraut machen:

Was ist KakerlakeDB

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

CockroachDB ist als Methode zur Sicherstellung der Datenpersistenz und Wiederherstellung im Fehlerfall sehr effizient efficient. Im Falle von Hardware- und Softwarefehlern kann es Daten erhalten, indem es stark konsistente Replikationen seiner Daten und automatische Reparaturen verwendet. Mit der SQL-API können Sie mit CockroachDB Daten mithilfe von SQL-Abfragen abfragen, strukturieren und bearbeiten.

Mit der SQL-API bietet CockroachDB Entwicklern einen einfachen Übergang, da sie dieselben vertrauten Konzepte erhalten. Da für die meisten Programmiersprachen bereits SQL-Treiber vorhanden sind, wird die Verwendung komfortabler.

Wir empfehlen Ihnen, die CockroachDB-Dokumentation für ein besseres Verständnis zu lesen.

https://linkfy.to/kakerlakeDocs

Was ist PonyORM

PonyORM ist ein fortgeschrittener Python Object-Relational Mapper. Obwohl es andere Python-ORM wie Django und SQLAlchemy gibt, ist PonyORM von Vorteil, da es Funktionen wie Unterstützung für zusammengesetzte Schlüssel, automatische Abfrageoptimierung und intuitive und unkomplizierte Abfragesyntax bietet.

Ein ORM ist einfach ein Werkzeug, mit dem Sie mit einer SQL-Datenbank in Ihrer bevorzugten Programmiersprache arbeiten können. Es gibt Entwicklern die Möglichkeit, mit den Daten innerhalb 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 die Python-Sprache verwenden, um mit Daten in CockroachDB in Form von Objekten der relationalen Datenbank zu arbeiten.

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

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

So installieren Sie CockroachDB unter Linux

Um CockroachDB auf Linux-Systemen zu installieren, befolgen Sie die Schritte in dieser Anleitung. Abhängig von Ihrer Systemkonfiguration müssen Sie über Root-Zugriff verfügen oder ein sudo-Benutzer sein.

Der erste Schritt besteht darin, sicherzustellen, dass Ihr System auf dem neuesten Stand 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 install glibc libncurses tzdata -y

Der nächste Schritt besteht darin, die CockroachDB-Binärdatei mit wget herunterzuladen, wie im folgenden Befehl gezeigt:

wget -qO- https://binaries.Kakerlakedb.com/kakerlake-v20.2.3.linux-amd64.tgz

Sobald Sie die Binärdatei heruntergeladen haben, extrahieren Sie die Datei.

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

Um CockroachDB-Befehle von einer beliebigen Shell aus zu starten, fügen Sie die Binärdatei zu Ihrem Pfad hinzu:

cp -i Kakerlake-v20.2.3. linux-amd64/kakerlake /usr/bin/

Kopieren Sie die erforderlichen Bibliotheken:

mkdir -p /usr/lib/kakerlake
cp -i Kakerlake-v20.2.3.linux-amd64/lib/libgeos.also /usr/lib/kakerlake/
cp -i Kakerlake-v20.2.3.linux-amd64/lib/libgeos_c.also /usr/lib/kakerlake/

Bestätigen Sie nach Abschluss, dass Sie Cockroach installiert haben:

welche Kakerlake
/usr/bin/kakerlake

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

Kakerlake Demo

Innerhalb des Clusters können Sie eine interaktive SQL-Shell ausführen, um gültige SQL-Abfragen einzugeben:

TABELLEN ANZEIGEN;

So installieren Sie PonyORM

Um PonyORM zu installieren, sollten Sie eine installierte und laufende Version von Python haben. Sie können sowohl Python 2 (dead) als auch Python 3 verwenden.

Installieren Sie Pony mit pip:

pip3 installieren pony

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

>>> vom Pony. orm-Import *

Da wir PonyORM mit CockroachDB verwenden werden, müssen wir den erforderlichen Treiber installieren. In diesem Fall müssen wir psycopg2 installieren. Verwenden Sie den pip-Befehl, um den erforderlichen Treiber zu installieren.

pip installiere psycopg2-binary

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

psycopg importieren

Sobald Sie alles installiert haben, können Sie weitermachen und mit CochroachDB und PonyORM arbeiten:

So erstellen Sie eine Python-Anwendung mit CockroachDB und PonyORM

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

Kakerlake SQL

Der nächste Schritt besteht darin, eine Datenbank und einen Benutzer für die Interaktion zu erstellen, was Sie mit dem folgenden Befehl tun können:

BENUTZER ERSTELLEN, WENN NICHT VORHANDEN admin;
DATENBANK-Blog ERSTELLEN;

Fügen Sie dem Admin-Benutzer die erforderlichen Berechtigungen mit dem Befehl hinzu:

GEWÄHRLEISTEN SIE ALLE AUF DATENBANK-Blog dem Administrator;
\q;

Nun zum App-Bereich:

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 Operationen aus:

vom Pony.orm-Import *
Datum/Uhrzeit importieren
Datenbank = Datenbank ()
db_params = dict(provider='kakerlake', user='admin',
host='localhost', port=26257, database='blog')
Klasse Benutzer(Datenbank.Entität):
Vorname = Erforderlich (Unicode)
blogs = Set("Blog")
Klasse Blog(Datenbank.Entität):
Benutzername = Erforderlich (Benutzer)
Titel = Erforderlich (Unicode)
publish_date = Erforderlich (datetime.Datum)
Kategorie = Erforderlich (Unicode)
set_sql_debug(Wahr)
Datenbank.bind(**db_params)
Datenbank.genere_mapping(create_tables=True)
@db_session
def create_blog():
user = Benutzer(vorname=u"Admin")
blog = Blog (Benutzername=Benutzer,
title=u"Hallo Welt",
publish_date=datetime.Datum(2021, 1, 1),
Kategorie=u"Entwurf")
Blogs = [

"Benutzer": Benutzer,
"title": "Hallo Welt 1",
"publish_date": Datum/Uhrzeit.Datum(2021, 1, 2),
"Kategorie": "Entwurf"
,

"Benutzer": Benutzer,
"title": "Hallo Welt 2",
"publish_date": Datum/Uhrzeit.Datum(2021, 1, 3),
"Kategorie": "Entwurf"
,

"Benutzer": Benutzer,
"title": "Hallo Welt 3",
"publish_date": Datum/Uhrzeit.Datum(2021,1,4),
"Kategorie": "Entwurf"

]
für Blog in Blogs:
b_ = Blog(**Blog)
if __name__ == "__main__":
Blog erstellen()
b_ = Benutzer("Admin")

Sobald Sie die App ausführen, sollten Sie eine Ausgabe ähnlich der unten gezeigten sehen:

ERHALTEN SIE NEUE VERBINDUNG
VERBINDUNG FREIGEBEN
VERBINDUNG VOM LOKALEN POOL ERHALTEN
SCHALTEN SIE IN DEN AUTOCOMMIT-MODUS
TABELLE ERSTELLEN "Benutzer" (
"ID" SERIELLER PRIMÄRSCHLÜSSEL,
"vorname" TEXT NICHT NULL
)
TABELLEN „Blog“ ERSTELLEN (
„ID“ SERIELLER PRIMÄRSCHLÜSSEL,
„Benutzername“ INT8 NICHT NULL,
„Titel“ TEXT NICHT NULL,
„publish_date“ DATUM NICHT NULL,
„Kategorie“ TEXT NICHT NULL
)
INDEX ERSTELLEN "idx_blog__username" AUF "blog" ("Benutzername")
ALTER TABLE "blog" ADD CONSTRAINT "fk_blog__username" FOREIGN KEY ("username") REFERENCES "user" ("id") ON DELETE CASCADE
WÄHLEN Sie "Blog"."id", "blog"."Benutzername", "Blog"."Titel", "Blog"."publish_date", "blog"."Kategorie"
VON "Blog" "Blog"
WO 0 = 1
Wähle den Benutzer"."id", "Benutzer"."Vorname"
VON "Benutzer" "Benutzer"
WO 0 = 1

Fazit

Mit der obigen App haben wir eine einfache Blog-Anwendung erstellt, die einen Benutzer erstellt und dem Benutzernamen Blogs zuordnet. Anschließend haben wir die Daten in die Datenbank aufgenommen, die wir mit SQL-Abfragen abfragen können. Obwohl die App einfach ist, veranschaulicht sie, wie wir CockroachDB und PonyORM verwenden können, um eine Python-App zu erstellen.

Open-Source-Ports kommerzieller Spiele-Engines
Kostenlose, quelloffene und plattformübergreifende Spiel-Engine-Nachbildungen können verwendet werden, um sowohl alte als auch einige der relativ neue...
Beste Befehlszeilenspiele für Linux
Die Befehlszeile ist nicht nur Ihr größter Verbündeter bei der Verwendung von Linux – sie kann auch eine Quelle der Unterhaltung sein, da Sie damit vi...
Beste Gamepad-Mapping-Apps für Linux
Wenn du Spiele unter Linux gerne mit einem Gamepad statt mit einem typischen Tastatur- und Maus-Eingabesystem spielst, gibt es einige nützliche Apps f...