„Python“

Kaip sukurti „Python“ programą su „CockroachDB“ ir „PonyORM“

Kaip sukurti „Python“ programą su „CockroachDB“ ir „PonyORM“

Šiame vadove mes supažindinsime jus su „CockroachDB“ ir „PonyORM“, naudojant „Python“. Pirmiausia aptarsime, kokios yra šios technologijos, tada aptarsime, kaip jos veikia.

Prieš pradėdami kurti „Python“ programą su „CockroachDB“ ir „PonyORM“, supraskime, kas yra šios technologijos:

Kas yra tarakonasDB

„CockroachDB“ yra labai keičiama, atviro kodo, paskirstyta SQL duomenų bazė, naudojanti sandorių ir nuoseklias raktų vertės parduotuves.

„CockroachDB“ yra labai efektyvus būdas užtikrinti duomenų patvarumą ir atkūrimą gedimo atveju. Aparatinės ir programinės įrangos gedimų atveju jis gali išsaugoti duomenis, naudodamasis nuosekliais duomenų atkartojimais ir automatiniu remontu. Naudodamas SQL API, „CockroachDB“ leidžia pateikti užklausas, struktūrizuoti ir tvarkyti duomenis naudojant SQL užklausas.

Naudodamas SQL API, „CockroachDB“ suteikia kūrėjams lengvą perėjimą, nes jie gauna tas pačias žinomas sąvokas. Kadangi jis jau turi daugumos programavimo kalbų SQL tvarkykles, patogiau naudotis.

Norėdami geriau suprasti, rekomenduojame susipažinti su „CockroachDB“ dokumentais.

https: // linkfy.to / tarakonasDocs

Kas yra PonyORM

„PonyORM“ yra pažangus „Python Object-Relational Mapper“. Nors yra ir kitų „Python“ ORM, tokių kaip „Django“ ir „SQLAlchemy“, „PonyORM“ yra naudingas, nes turi tokių funkcijų kaip sudėtinių raktų palaikymas, automatinis užklausos optimizavimas ir intuityvi bei nesudėtinga užklausų sintaksė.

ORM yra tiesiog įrankis, leidžiantis dirbti su SQL duomenų baze naudojant jūsų pageidaujamą programavimo kalbą. Tai suteikia kūrėjams galimybę dirbti su duomenų bazėje esančiais duomenimis objektų pavidalu; taigi galite naudoti OOP savo kalbai dirbti su duomenimis.

Naudodami „PonyORM“ biblioteką, galime naudoti „Python“ kalbą darbui su duomenimis „CockroachDB“ reliacinės duomenų bazės objektų pavidalu.

Norėdami sužinoti, galite naudoti „PonyORM“ dokumentus. Štai nuoroda:

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

Kaip įdiegti CockroachDB į Linux

Norėdami įdiegti „CockroachDB“ „Linux“ sistemose, atlikite šiame vadove pateiktus veiksmus ir, priklausomai nuo sistemos konfigūracijos, turėsite turėti root prieigą arba būti sudo vartotojas.

Pirmasis žingsnis yra užtikrinti, kad jūsų sistema būtų atnaujinta, ir tada įdiegti reikiamas priklausomybes. Štai komanda tam:

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

Kitas žingsnis yra atsisiųsti „CockroachDB“ dvejetainį failą naudojant „wget“, kaip parodyta žemiau esančioje komandoje:

wget -qO- https: // dvejetainiai failai.tarakonas.com / tarakonas-v20.2.3.„Linux-amd64“.tgz

Atsisiuntę dvejetainį failą, ištraukite failą.

degutas -xvf tarakonas-v20.2.3.„Linux-amd64“.tgz

Norėdami paleisti „CockroachDB“ komandas iš bet kurio apvalkalo, pridėkite dvejetainį savo kelią:

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

Nukopijuokite reikalingas bibliotekas:

mkdir -p / usr / lib / tarakonas
cp -i tarakonas-v20.2.3.„Linux-amd64 / lib / libgeos“.so / usr / lib / tarakonas /
cp -i tarakonas-v20.2.3.„Linux-amd64 / lib / libgeos_c“.so / usr / lib / tarakonas /

Baigę patikrinkite, ar turite tarakoną:

kuris tarakonas
/ usr / bin / tarakonas

Paleiskite laikiną atminties grupę naudodami komandą:

tarakonų demonstracija

Klasterio viduje galite paleisti interaktyvų SQL apvalkalą, kad galėtumėte įvesti galiojančias SQL užklausas:

RODYTI LENTELES;

Kaip įdiegti PonyORM

Norėdami įdiegti „PonyORM“, turite turėti įdiegtą ir veikiančią „Python“ versiją. Galite naudoti tiek „Python 2“ (negyvas), tiek „Python 3“.

Naudodami „pip“, įdiekite „Pony“:

pip3 įdiekite ponis

Norėdami patikrinti, ar įdiegėte „Pony“, atidarykite „Python“ vertėją ir įveskite kodą.

>>> iš ponio. orm importas *

Kadangi naudosime „PonyORM“ su „CockroachDB“, turime įdiegti reikiamą tvarkyklę. Šiuo atveju turime įdiegti psycopg2. Norėdami įdiegti reikiamą tvarkyklę, naudokite komandą pip.

„pip install psycopg2-binary“

Patikrinkite, ar įdiegėte „Psycopg“ naudodamiesi interaktyvia python sesija, ir įveskite komandą:

importuoti psycopg

Kai viską įdiegsite, galėsite tęsti ir pradėti dirbti su „CochroachDB“ ir „PonyORM“:

Kaip sukurti „Python“ programą su tarakonuDB ir „PonyORM“

Norėdami sukurti „python“ programą, pirmiausia paleiskite interaktyvų SQL apvalkalą naudodami komandą.

tarakonas SQL

Kitas žingsnis yra sukurti duomenų bazę ir vartotoją, su kuriais norite bendrauti, o tai galite padaryti naudodami komandą:

SUKURKITE VARTOTOJĄ, JEI NEBŪTŲ admin;
KURTI DUOMENŲ BAZĖS tinklaraštį;

Pridėkite būtinas privilegijas administratoriaus vartotojui naudodami komandą:

SUTEIKTI VISUS DUOMENŲ BAZĖS tinklaraštyje administratoriui;
\ q;

Dabar apie programų skyrių:

Žemiau pateiktas kodas naudoja „PonyORM“ sąveikai su tinklaraščio duomenų baze ir „Python“ objektų bei metodų susiejimui su SQL duomenų baze.

Žemiau pateiktu kodu atliekamos šios operacijos:

nuo ponio.orm importas *
importavimo laikas
duomenų bazė = duomenų bazė ()
db_params = dict (teikėjas = 'tarakonas', vartotojas = 'administratorius',
host = 'localhost', port = 26257, database = 'blog')
klasės Vartotojas (duomenų bazė.Subjektas):
first_name = Būtinas („unicode“)
blogs = Nustatyti („Dienoraštis“)
klasės tinklaraštis (duomenų bazė.Subjektas):
vartotojo vardas = Būtinas (vartotojas)
title = Būtinas („unicode“)
publish_date = Būtinas (datos laikas.data)
kategorija = Būtina („unicode“)
set_sql_debug (tiesa)
duomenų bazė.surišti (** db_params)
duomenų bazė.generuoti_mapping (create_tables = True)
@db_session
def create_blog ():
vartotojas = vartotojas (first_name = u "Administratorius")
blog = tinklaraštis (vartotojo vardas = vartotojas,
title = u "Sveikas pasaulis",
publish_date = datos laikas.data (2021, 1, 1),
kategorija = u „Juodraštis“)
tinklaraščiai = [

"vartotojas": vartotojas,
"title": "Sveikas pasaulis 1",
"publish_date": datos laikas.data (2021, 1, 2),
„category“: „Juodraštis“
,

"vartotojas": vartotojas,
"title": "Sveikas pasaulis 2",
"publish_date": datos laikas.data (2021, 1, 3),
„category“: „Juodraštis“
,

"vartotojas": vartotojas,
"title": "Sveikas pasaulis 3",
"publish_date": datos laikas.data (2021,1,4),
"category": "Juodraštis"

]
tinklaraščiui tinklaraščiuose:
b_ = Tinklaraštis (** tinklaraštis)
jei __pavadinimas = = "__main__":
sukurti_blogą ()
b_ = Vartotojas („Administratorius“)

Kai paleisite programą, turėtumėte pamatyti išvestį, panašią į toliau pateiktą:

GAUTI NAUJĄ JUNGTĮ
ATLEISKITE JUNGTĮ
Gaukite ryšį iš vietinio baseino
Pereiti prie automatinio režimo
SUKURTI LENTEL "" vartotojas "(
"ID" SERIALINIS PAGRINDINIS RAKTAS,
"first_name" TEKSTAS NENUOL
)
SUKURTI LENTEL “„ tinklaraštis “(
„ID“ SERIALINIS PAGRINDINIS RAKTAS,
„Vartotojo vardas“ INT8 NOT NULL,
„Pavadinimas“ TEKSTAS NENUOL,
„Publish_date“ DATA NOT NULL,
„Kategorija“ TEKSTAS NENUOL
)
CREATE INDEX "idx_blog__username" ON "tinklaraštis" ("vartotojo vardas")
KEITIMO LENTELĖ "tinklaraštis" PRIDĖTI SĄLYGĄ "fk_blog__username" UŽSIENIO RAKTAS ("vartotojo vardas") NUORODOS "vartotojas" ("id") IŠTRINTI KASKADE
PASIRINKITE „tinklaraštį“.„id“, „blog“.„vartotojo vardas“, „tinklaraštis“.„pavadinimas“, „tinklaraštis“."publish_date", "blog"."Kategorija"
IŠ „dienoraščio“ „tinklaraščio“
KUR 0 = 1
PASIRINKTI „vartotoją“."id", "user"."Pirmas vardas"
IŠ "vartotojas" "vartotojas"
KUR 0 = 1

Išvada

Naudodamiesi aukščiau esančia programa, mes sukūrėme paprastą tinklaraščio programą, kuri sukuria vartotoją ir priskiria tinklaraščius vartotojo vardui. Tada mes įtraukėme duomenis į duomenų bazę, kuriai galime pateikti užklausą naudodami SQL užklausas. Nors programa yra paprasta, ji parodo, kaip mes galime naudoti „CockroachDB“ ir „PonyORM“, kad sukurtume „Python“ programą.

„SuperTuxKart“, skirta „Linux“
„SuperTuxKart“ yra puikus pavadinimas, sukurtas nemokamai suteikti „Mario Kart“ patirtį jūsų „Linux“ sistemoje. Tai gana sudėtinga ir smagu žaisti, yr...
„Battle for Wesnoth“ pamoka
„Battle for Wesnoth“ yra vienas populiariausių atvirojo kodo strateginių žaidimų, kurį šiuo metu galite žaisti. Šis žaidimas ne tik buvo kuriamas laba...
0 A.D. Pamoka
Iš daugybės strateginių žaidimų 0 A.D. sugeba išsiskirti kaip išsamus pavadinimas ir labai gilus, taktinis žaidimas, nepaisant to, kad yra atviro kodo...