Python

Kako zgraditi aplikacijo Python z CockroachDB in PonyORM

Kako zgraditi aplikacijo Python z CockroachDB in PonyORM

V tem priročniku vam bomo predstavili CockroachDB in PonyORM z uporabo Pythona. Najprej bomo razpravljali o tem, katere tehnologije so, nato pa o njihovem delovanju.

Preden začnemo graditi aplikacijo Python s programoma CockroachDB in PonyORM, razjasnimo, kaj so te tehnologije:

Kaj je CockroachDB

CockroachDB je zelo razširljiva, odprtokodna, porazdeljena baza podatkov SQL, ki uporablja transakcijske in dosledne shrambe ključ-vrednost.

CockroachDB je zelo učinkovit kot metoda za zagotavljanje obstojnosti podatkov in njihovo obnovitev v primeru okvare. V primeru napak strojne in programske opreme lahko podatke ohrani z uporabo doslednih kopij svojih podatkov in samodejnimi popravili. Z uporabo API-ja SQL CockroachDB omogoča poizvedbe, strukturiranje in obdelavo podatkov s pomočjo poizvedb SQL.

Z uporabo API-ja SQL CockroachDB razvijalcem omogoča enostaven prehod, saj dobijo enake znane koncepte. Ker že ima gonilnike SQL za večino programskih jezikov, je uporaba v njih bolj prijetna.

Za boljše razumevanje priporočamo, da si ogledate dokumentacijo CockroachDB.

https: // linkfy.do / ščurkiDocs

Kaj je PonyORM

PonyORM je napreden Python-ov objektno-relacijski zemljevid. Čeprav obstajajo še drugi Python ORM, kot sta Django in SQLAlchemy, je PonyORM ugoden, saj ima funkcije, kot so podpora za sestavljene ključe, samodejna optimizacija poizvedb ter intuitivna in enostavna sintaksa poizvedb.

ORM je preprosto orodje, ki vam omogoča delo z bazo podatkov SQL z uporabo želenega programskega jezika. Razvijalcem omogoča delo s podatki znotraj baze podatkov v obliki predmetov; zato lahko za delo s podatki za svoj jezik uporabite OOP.

Z uporabo knjižnice PonyORM lahko jezik Python uporabljamo za delo s podatki v CockroachDB v obliki predmetov relacijske baze podatkov.

Za referenco lahko uporabite dokumentacijo PonyORM. Tu je povezava:

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

Kako namestiti CockroachDB v Linux

Če želite namestiti CockroachDB v sisteme Linux, sledite navodilom v tem priročniku in, odvisno od konfiguracije sistema, boste morali imeti root dostop ali biti uporabnik sudo.

Prvi korak je zagotoviti, da je vaš sistem posodobljen, in nato namestiti zahtevane odvisnosti. Tu je ukaz za to:

posodobitev sudo apt-get && nadgradnja sudo apt-get
sudo apt-get install glibc libncurses tzdata -y

Naslednji korak je prenos binarnega programa CockroachDB z uporabo wgeta, kot je prikazano v spodnjem ukazu:

wget -qO- https: // binarne datoteke.ščurek.com / ščurka-v20.2.3.linux-amd64.tgz

Ko prenesete binarno datoteko, jo izvlecite.

tar -xvf ščurka-v20.2.3.linux-amd64.tgz

Če želite zagnati ukaze CockroachDB iz katere koli lupine, dodajte binarno datoteko na svojo pot:

cp -i ščurka-v20.2.3. linux-amd64 / ščurek / usr / bin /

Kopirajte zahtevane knjižnice:

mkdir -p / usr / lib / ščurka
cp -i ščurka-v20.2.3.linux-amd64 / lib / libgeos.tako / usr / lib / ščurka /
cp -i ščurka-v20.2.3.linux-amd64 / lib / libgeos_c.tako / usr / lib / ščurka /

Ko končate, potrdite, da ste namestili Ščurka:

kateri ščurek
/ usr / bin / ščurka

Zaženite začasno gručo v pomnilniku z ukazom:

demo ščurka

Znotraj gruče lahko zaženete interaktivno lupino SQL za vnos veljavnih poizvedb SQL:

PRIKAŽI MIZE;

Kako namestiti PonyORM

Če želite namestiti PonyORM, morate imeti nameščeno in zagnano različico Pythona. Uporabite lahko Python 2 (mrtev) ali Python 3.

Z uporabo pipa namestite Pony:

pip3 namesti ponija

Če želite preizkusiti, ali imate nameščen Pony, odprite tolmač Python in vnesite kodo.

>>> od ponija. uvoz orm *

Ker bomo PonyORM uporabljali z CockroachDB, moramo namestiti zahtevani gonilnik. V tem primeru moramo namestiti psycopg2. Z ukazom pip namestite potreben gonilnik.

pip namestite psycopg2-binarno

Preverite, ali imate Psycopg nameščen z interaktivno sejo python in vnesite ukaz:

uvozi psycopg

Ko ste vse namestili, lahko nadaljujete in začnete sodelovati s CochroachDB in PonyORM:

Kako zgraditi aplikacijo Python z CockroachDB in PonyORM

Če želite zgraditi aplikacijo python, začnite z zagonom interaktivne lupine SQL z ukazom.

ščurka SQL

Naslednji korak je ustvariti bazo podatkov in uporabnika za interakcijo, kar lahko storite z ukazom:

USTVARI UPORABNIKA, ČE NE OBSTAJA admin;
USTVARI DATABASE blog;

S skrbniškim uporabnikom dodajte potrebne privilegije z ukazom:

DARI VSE NA blogu DATABASE administratorju;
\ q;

Zdaj za razdelek z aplikacijami:

Spodnja koda uporablja PonyORM za interakcijo z bazo podatkov spletnega dnevnika in preslikavo objektov in metod Python v bazo podatkov SQL.

Spodnja koda izvaja naslednje operacije:

od ponija.uvoz orm *
uvozi datum in čas
database = Database ()
db_params = dict (ponudnik = 'ščurka', uporabnik = 'admin',
gostitelj = 'localhost', vrata = 26257, zbirka podatkov = 'blog')
razred Uporabnik (baza podatkov.Entiteta):
first_name = Zahtevano (unicode)
blogs = Set ("Blog")
razred Blog (baza podatkov.Entiteta):
uporabniško ime = obvezno (uporabnik)
title = obvezno (unicode)
objavi_date = Zahtevano (datum in čas.datum)
kategorija = obvezno (unicode)
set_sql_debug (True)
zbirka podatkov.veži (** db_params)
zbirka podatkov.generiraj_mapo (create_tables = True)
@db_session
def create_blog ():
uporabnik = uporabnik (first_name = u "Admin")
blog = Blog (uporabniško ime = uporabnik,
title = u "Pozdravljeni svet",
objavi_date = datum in čas.datum (2021, 1, 1),
kategorija = u "Osnutek")
blogi = [

"uporabnik": uporabnik,
"title": "Pozdravljeni svet 1",
"objavi_datum": datum in čas.datum (2021, 1, 2),
"category": "Osnutek"
,

"uporabnik": uporabnik,
"title": "Pozdravljeni svet 2",
"objavi_datum": datum in čas.datum (2021, 1, 3),
"category": "Osnutek"
,

"uporabnik": uporabnik,
"title": "Pozdravljeni svet 3",
"objavi_datum": datum in čas.datum (2021,1,4),
"category": "Osnutek"

]
za blog v blogih:
b_ = Blog (** blog)
če je __name__ == "__glavna__":
create_blog ()
b_ = Uporabnik ("Skrbnik")

Ko zaženete aplikacijo, se prikaže izhod, podoben spodnjemu:

PRIDOBITE NOVO POVEZAVO
SPROŠČANJE POVEZAVE
PRIDOBITE POVEZAVO Z LOKALNEGA BAZENA
PREKLOPITE NA NAČIN AVTOMAKSIMA
USTVARI TABELO "uporabnik" (
"id" SERIJSKI PRIMARNI KLJUČ,
"first_name" BESEDILO NI NULL
)
USTVARI TABELO “blog” (
“Id” PREDVIDNI KLJUČ,
»Uporabniško ime« INT8 NI NULL,
“Naslov” BESEDILO NI NULL,
“Objavi_datum” DATUM NI NULL,
„Kategorija“ BESEDILO NI NULL
)
USTVARI INDEKS "idx_blog__username" ON "blog" ("uporabniško ime")
ALTER TABLE "blog" DODAJ OMEJITEV "fk_blog__username" TUJI KLJUČ ("uporabniško ime") SE sklicuje na "uporabnik" ("id") IZBRIŠI KASKADO
IZBERI "blog"."id", "blog"."uporabniško ime", "blog"."naslov", "blog"."objavi_datum", "blog"."kategorija"
IZ "blog" "blog"
KJE 0 = 1
IZBERI "uporabnik"."id", "user"."ime"
OD "uporabnik" "uporabnik"
KJE 0 = 1

Zaključek

Z zgornjo aplikacijo smo ustvarili preprosto blog aplikacijo, ki ustvari uporabnika in uporabniškemu imenu dodeli bloge. Nato smo podatke dodali v bazo podatkov, ki jih lahko poizvedujemo z uporabo poizvedb SQL. Čeprav je aplikacija preprosta, ponazarja, kako lahko s CockroachDB in PonyORM ustvarimo aplikacijo Python.

Kako uporabljati AutoKey za avtomatizacijo iger Linux
AutoKey je namizni pripomoček za avtomatizacijo za Linux in X11, programiran v Python 3, GTK in Qt. Z njegovo funkcijo skriptiranja in MACRO lahko avt...
Kako prikazati števec FPS v igrah Linux
Linux gaming je dobil velik zagon, ko je Valve leta 2012 napovedal podporo Linuxu za odjemalca Steam in njihove igre. Od takrat se je veliko AAA in in...
Kako prenesti in igrati Sid Meier's Civilization VI v Linuxu
Uvod v igro Civilization 6 je sodoben pogled na klasični koncept, uveden v seriji iger Age of Empires. Ideja je bila dokaj preprosta; začeli bi v zelo...