Pytonorm

Hur man bygger en Python-app med CockroachDB och PonyORM

Hur man bygger en Python-app med CockroachDB och PonyORM

I den här guiden presenterar vi dig för CockroachDB och PonyORM med Python. Vi börjar med att diskutera vad dessa tekniker är och sedan diskutera hur de fungerar.

Innan vi börjar bygga en Python-applikation med CockroachDB och PonyORM, låt oss förstå vad dessa tekniker är:

Vad är CockroachDB

CockroachDB är en mycket skalbar, distribuerad SQL-databas med öppen källkod som använder transaktionella och konsekventa nyckel-värdebutiker.

CockroachDB är mycket effektiv som en metod för att säkerställa datapersistens och återhämtning vid misslyckande. I händelse av hårdvaru- och programvarufel kan den bevara data genom att använda starkt konsekventa replikeringar av dess data och automatiska reparationer. Med hjälp av SQL API låter CockroachDB dig fråga, strukturera och manipulera data med hjälp av SQL-frågor.

Med hjälp av SQL API ger CockroachDB utvecklare en enkel övergång eftersom de får samma bekanta koncept. Eftersom det redan har befintliga SQL-drivrutiner för de flesta programmeringsspråk blir det bekvämare att använda det.

Vi rekommenderar att du läser CockroachDB-dokumentationen för en bättre förståelse.

https: // linkfy.till / cockroachDocs

Vad är PonyORM

PonyORM är en avancerad Python Object-Relational Mapper. Även om det finns andra Python ORM som Django och SQLAlchemy, är PonyORM fördelaktigt eftersom det har funktioner som stöd för kompositknappar, automatisk frågeoptimering och intuitiv och rak frågesyntax.

En ORM är helt enkelt ett verktyg som låter dig arbeta med en SQL-databas med ditt föredragna programmeringsspråk. Det ger utvecklare möjlighet att arbeta med data i en databas i form av objekt; Därför kan du använda OOP för ditt språk för att arbeta med data.

Med hjälp av PonyORM-biblioteket kan vi använda Pythonspråk för att arbeta med data i CockroachDB i form av objekt i relationsdatabasen.

Du kan använda PonyORM-dokumentationen som referens. Här är länken:

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

Hur man installerar CockroachDB på Linux

För att installera CockroachDB på Linux-system, följ stegen i den här guiden, och beroende på din systemkonfiguration måste du ha root-åtkomst eller vara en sudo-användare.

Det första steget är att se till att ditt system är uppdaterat och sedan installera de beroenden som krävs. Här är kommandot för det:

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

Nästa steg är att ladda ner CockroachDB-binär med wget, som visas i kommandot nedan:

wget -qO- https: // binärer.kackerlacka.com / kackerlacka-v20.2.3.linux-amd64.tgz

När du har laddat ner binärpaketet extraherar du filen.

tjära -xvf kackerlacka-v20.2.3.linux-amd64.tgz

För att starta CockroachDB-kommandon från vilket skal som helst, lägg till binären i din sökväg:

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

Kopiera de obligatoriska biblioteken:

mkdir -p / usr / lib / cockroach
cp -i kackerlacka-v20.2.3.linux-amd64 / lib / libgeos.så / usr / lib / kackerlacka /
cp -i kackerlacka-v20.2.3.linux-amd64 / lib / libgeos_c.så / usr / lib / kackerlacka /

När du är klar, bekräfta att du har Cockroach installerat:

vilken kackerlacka
/ usr / bin / kackerlacka

Starta ett tillfälligt kluster i minnet med kommandot:

kackerlacka demo

Inne i klustret kan du köra ett interaktivt SQL-skal för att ange giltiga SQL-frågor:

VISA BORD;

Hur man installerar PonyORM

För att installera PonyORM bör du ha en installerad och igång version av Python. Du kan använda både Python 2 (död) eller Python 3.

Installera Pony med pip:

pip3 installera ponny

För att testa om du har Pony installerad, öppna Python-tolk och ange koden.

>>> från ponny. orm import *

Eftersom vi kommer att använda PonyORM med CockroachDB måste vi installera den drivrutin som krävs. I det här fallet måste vi installera psycopg2. Använd pip-kommandot för att installera den nödvändiga drivrutinen.

pip installera psycopg2-binär

Kontrollera om du har Psycopg installerat med den interaktiva pythonsessionen och ange kommandot:

importera psycopg

När du har installerat allt kan du gå vidare och börja arbeta med CochroachDB och PonyORM:

Hur man bygger en Python-applikation med CockroachDB och PonyORM

För att bygga en pythonapplikation, börja med att starta ett interaktivt SQL-skal med kommandot.

kackerlacka SQL

Nästa steg är att skapa en databas och användare att interagera med, vilket du kan göra med kommandot:

SKAPA ANVÄNDARE OM INTE FÖR administratör;
SKAPA DATABASBlogg;

Lägg till nödvändiga behörigheter till adminanvändaren med kommandot:

GE ALLT OM DATABASBlogg till admin;
\ q;

Nu för appavsnittet:

Koden nedan använder PonyORM för att interagera med bloggdatabasen och mappa Python-objekten och metoderna till SQL-databasen.

Koden nedan utför följande åtgärder:

från ponny.orm import *
importera datatid
databas = databas ()
db_params = dict (provider = 'cockroach', user = 'admin',
host = 'localhost', port = 26257, database = 'blog')
klass Användare (databas.Entitet):
first_name = Obligatoriskt (unicode)
blogs = Set ("Blogg")
klass Blogg (databas.Entitet):
användarnamn = Obligatoriskt (Användare)
title = Obligatoriskt (unicode)
publish_date = Obligatoriskt (datetime.datum)
category = Obligatoriskt (unicode)
set_sql_debug (True)
databas.binda (** db_params)
databas.create_mapping (create_tables = True)
@db_session
def create_blog ():
user = User (first_name = u "Admin")
blogg = Blogg (användarnamn = användare,
title = u "Hello world",
publish_date = datetime.datum (2021, 1, 1),
category = u "Utkast")
bloggar = [

"användare": användare,
"title": "Hej värld 1",
"publish_date": datetime.datum (2021, 1, 2),
"category": "Utkast"
,

"användare": användare,
"title": "Hej värld 2",
"publish_date": datetime.datum (2021, 1, 3),
"category": "Utkast"
,

"användare": användare,
"title": "Hej värld 3",
"publish_date": datetime.datum (2021,1,4),
"category": "Utkast"

]
för blogg i bloggar:
b_ = Blogg (** blogg)
om __name__ == "__main__":
create_blog ()
b_ = Användare ("Admin")

När du har kört appen ska du se en utdata som liknar den som visas nedan:

FÅ NYTT ANSLUTNING
FRIGÖRANDE ANSLUTNING
FÅ Anslutning från den lokala poolen
Byt till autoläge
SKAPA TABELL "användare" (
"id" SERIEN PRIMÄR NYCKEL,
"förnamn" TEXT INTE NULL
)
SKAPA TABELL "blogg" (
“Id” SERIEN PRIMÄR NYCKEL,
“Användarnamn” INT8 INTE NULL,
“Titel” TEXT INTE NULL,
“Publish_date” DATUM INTE NULL,
“Kategori” TEXT INTE NULL
)
SKAPA INDEX "idx_blog__användarnamn" PÅ "blogg" ("användarnamn")
ÄNDRA TABELL "blogg" LÄGG TILL KONTRAST "fk_blog__användarnamn" UTLÄNDSK NYCKEL ("användarnamn") HÄNVISNINGAR "användare" ("id") PÅ RADERA KASKAD
VÄLJ "blogg"."id", "blogg"."användarnamn", "blogg"."titel", "blogg"."publish_date", "blogg"."kategori"
FRÅN "blogg" "blogg"
VAR 0 = 1
VÄLJ "användare"."id", "användare"."förnamn"
FRÅN "användare" "användare"
VAR 0 = 1

Slutsats

Med hjälp av appen ovan skapade vi en enkel bloggapplikation som skapar en användare och tilldelar bloggar till användarnamnet. Vi lade sedan till data i databasen, som vi kan fråga med SQL-frågor. Även om appen är enkel illustrerar den hur vi kan använda CockroachDB och PonyORM för att skapa en Python-app.

SuperTuxKart för Linux
SuperTuxKart är en fantastisk titel som är utformad för att ge dig Mario Kart-upplevelsen gratis på ditt Linux-system. Det är ganska utmanande och rol...
Battle for Wesnoth Tutorial
Slaget om Wesnoth är ett av de mest populära open source-strategispel som du kan spela just nu. Det här spelet har inte bara utvecklats under mycket l...
0 A.D. Handledning
Av de många strategispelen där ute, 0 A.D. lyckas framstå som en omfattande titel och ett mycket djupt, taktiskt spel trots att det är öppen källkod. ...