Pyton

Jak zbudować aplikację w Pythonie z CockroachDB i PonyORM

Jak zbudować aplikację w Pythonie z CockroachDB i PonyORM

W tym przewodniku wprowadzimy Cię do CockroachDB i PonyORM przy użyciu Pythona. Zaczniemy od omówienia, czym są te technologie, a następnie omówimy, jak działają.

Zanim zaczniemy budować aplikację Pythona z CockroachDB i PonyORM, zrozummy, czym są te technologie:

Co to jest karaluchDB

CockroachDB to wysoce skalowalna, rozproszona baza danych SQL typu open source, która wykorzystuje transakcyjne i spójne magazyny wartości klucz-wartość-.

CockroachDB jest bardzo skuteczną metodą zapewniającą trwałość danych i odzyskiwanie w przypadku awarii. W przypadku awarii sprzętu i oprogramowania może zachować dane, korzystając z silnych, spójnych replikacji swoich danych i automatycznych napraw. Korzystając z interfejsu API SQL, CockroachDB umożliwia tworzenie zapytań, strukturyzację i manipulowanie danymi za pomocą zapytań SQL.

Korzystając z interfejsu API SQL, CockroachDB zapewnia programistom łatwe przejście, ponieważ otrzymują te same znane koncepcje. Ponieważ ma już istniejące sterowniki SQL dla większości języków programowania, korzystanie z niego staje się wygodniejsze.

Zalecamy zapoznanie się z dokumentacją CockroachDB w celu lepszego zrozumienia.

https://linkfy.do/karaluchDokumenty

Co to jest PonyORM

PonyORM to zaawansowany maper obiektowo-relacyjny w Pythonie. Chociaż istnieją inne ORM w Pythonie, takie jak Django i SQLAlchemy, PonyORM jest korzystny, ponieważ ma takie funkcje, jak obsługa kluczy złożonych, automatyczna optymalizacja zapytań oraz intuicyjna i prosta składnia zapytań.

ORM to po prostu narzędzie, które umożliwia pracę z bazą danych SQL przy użyciu preferowanego języka programowania programming. Daje programistom możliwość pracy z danymi w bazie danych w postaci obiektów; w związku z tym możesz używać OOP dla swojego języka do pracy z danymi.

Wykorzystując bibliotekę PonyORM możemy wykorzystać język Python do pracy z danymi w CockroachDB w postaci obiektów relacyjnej bazy danych.

Możesz skorzystać z dokumentacji PonyORM w celach informacyjnych. Oto link:

https://dokumenty.kucyk.org/toc.html

Jak zainstalować CockroachDB w systemie Linux?

Aby zainstalować CockroachDB w systemach Linux, wykonaj kroki opisane w tym przewodniku i, w zależności od konfiguracji systemu, będziesz musiał mieć uprawnienia roota lub być użytkownikiem sudo.

Pierwszym krokiem jest upewnienie się, że Twój system jest aktualny, a następnie zainstalowanie wymaganych zależności. Oto polecenie do tego:

aktualizacja sudo apt-get && aktualizacja sudo apt-get
sudo apt-get install glibc libncurses tzdata -y

Następnym krokiem jest pobranie pliku binarnego CockroachDB za pomocą wget, jak pokazano w poniższym poleceniu:

wget -qO- https://binaria.karaluch.pl/karaluch-v20.2.3.linux-amd64.tgz

Po pobraniu pliku binarnego wyodrębnij plik.

smoła -xvf karaluch-v20.2.3.linux-amd64.tgz

Aby uruchomić polecenia CockroachDB z dowolnej powłoki, dodaj plik binarny do swojej ścieżki:

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

Skopiuj wymagane biblioteki:

mkdir -p /usr/lib/karaluch
cp -i karaluch-v20.2.3.linux-amd64/lib/libgeos.więc /usr/lib/karaluch/
cp -i karaluch-v20.2.3.linux-amd64/lib/libgeos_c.więc /usr/lib/karaluch/

Po zakończeniu potwierdź, że masz zainstalowany Karaluch:

który karaluch?
/usr/bin/karaluch

Uruchom tymczasowy klaster w pamięci za pomocą polecenia:

karaluch demo

Wewnątrz klastra możesz uruchomić interaktywną powłokę SQL, aby wprowadzić poprawne zapytania SQL:

POKAŻ TABELE;

Jak zainstalować PonyORM

Aby zainstalować PonyORM, powinieneś mieć zainstalowaną i działającą wersję Pythona. Możesz używać zarówno Pythona 2 (martwy) jak i Pythona 3.

Używając pip, zainstaluj Pony:

pip3 zainstaluj kucyka

Aby sprawdzić, czy masz zainstalowanego Pony, otwórz interpreter Pythona i wprowadź kod.

>>> od kucyka. import formularzy *

Ponieważ będziemy używać PonyORM z CockroachDB, musimy zainstalować wymagany sterownik. W tym przypadku musimy zainstalować psycopg2. Użyj polecenia pip, aby zainstalować niezbędny sterownik.

pip zainstaluj psycopg2-binary

Sprawdź, czy masz zainstalowany Psycopg za pomocą interaktywnej sesji Pythona i wprowadź polecenie:

importuj psycopg

Po zainstalowaniu wszystkiego możesz przejść dalej i rozpocząć pracę z CochroachDB i PonyORM:

Jak zbudować aplikację w Pythonie z CockroachDB i PonyORM

Aby zbudować aplikację w Pythonie, zacznij od uruchomienia interaktywnej powłoki SQL za pomocą polecenia.

karaluch SQL

Następnym krokiem jest utworzenie bazy danych i użytkownika do interakcji, co można zrobić za pomocą polecenia:

UTWÓRZ UŻYTKOWNIKA, JEŚLI NIE ISTNIEJE admin;
TWORZENIE BAZ DANYCH blog;

Dodaj niezbędne uprawnienia użytkownikowi admin za pomocą polecenia:

PRZYZNAJ WSZYSTKO W BAZIE DANYCH do administratora
\q;

Teraz przejdź do sekcji aplikacji:

Poniższy kod używa PonyORM do interakcji z bazą danych bloga i mapowania obiektów i metod Pythona na bazę danych SQL.

Poniższy kod wykonuje następujące operacje:

od kucyka.import formularzy *
importuj datę i godzinę
baza danych = baza danych ()
db_params = dict(dostawca='karaluch', użytkownik='admin',
host='localhost', port=26257, baza danych='blog')
klasa Użytkownik(baza danych.Jednostka):
first_name = Wymagane (unicode)
blogi = Ustaw("Blog")
klasa Blog(baza danych.Jednostka):
nazwa użytkownika = Wymagane (Użytkownik)
tytuł = Wymagane (unicode)
data_publikacji = Wymagane (data/godzina.data)
kategoria = Wymagane (unicode)
set_sql_debug (prawda)
Baza danych.bind(**db_params)
Baza danych.generate_mapping(create_tables=True)
@db_sesja
def utwórz_blog():
użytkownik = Użytkownik(first_name=u"Administrator")
blog = Blog (nazwa użytkownika=użytkownik,
title=u"Witaj świecie",
publikacja_data=data/godzina.data(2021, 1, 1),
kategoria=u"Wersja robocza")
blogi = [

"użytkownik": użytkownik,
"title": "Witaj świecie 1",
"data_publikacji": data i godzina.data (2021, 1, 2),
"kategoria": "Szkic"
,

"użytkownik": użytkownik,
"title": "Witaj świecie 2",
"data_publikacji": data i godzina.data(2021, 1, 3),
"kategoria": "Szkic"
,

"użytkownik": użytkownik,
"title": "Witaj świecie 3",
"data_publikacji": data i godzina.data (2021, 1,4),
"kategoria": "Szkic"

]
dla bloga w blogach:
b_ = Blog(**blog)
if __name__ == "__main__":
utwórz_blog()
b_ = Użytkownik("Administrator")

Po uruchomieniu aplikacji powinieneś zobaczyć dane wyjściowe podobne do pokazanego poniżej:

UZYSKAJ NOWE POŁĄCZENIE
ZWOLNIJ POŁĄCZENIE
UZYSKAJ POŁĄCZENIE Z LOKALNEGO BASENU
PRZEŁĄCZ W TRYB AUTOCOMMIT
UTWÓRZ TABELĘ „użytkownik” (
SERYJNY KLUCZ PODSTAWOWY „id”,
TEKST „Imie” NIE JEST NULL
)
UTWÓRZ TABELĘ „blog” (
SERYJNY KLUCZ PODSTAWOWY „id”,
„nazwa użytkownika” INT8 NIE NULL,
TEKST „tytuł” ​​NIE JEST NULL,
„data_publikacji” DATA NIE JEST NULL,
TEKST „kategorii” NIE JEST NULL
)
UTWÓRZ INDEKS "idx_blog__username" ON "blog" ("username")
ALTER TABLE "blog" ADD CONSTRAINT "fk_blog__username" KLUCZ OBCY ("username") REFERENCE "user" ("id") PRZY USUWANIU KASKADY
WYBIERZ "blog".„id”, „blog”."nazwa użytkownika", "blog".„tytuł”, „blog”."data_publikacji", "blog"."Kategoria"
Z „blog” „blog”
GDZIE 0 = 1
Wybierz użytkownika".„id”, „użytkownik”."Imię"
OD „użytkownik” „użytkownik”
GDZIE 0 = 1

Wniosek

Korzystając z powyższej aplikacji, stworzyliśmy prostą aplikację blogową, która tworzy użytkownika i przypisuje blogi do nazwy użytkownika. Następnie dodaliśmy dane do bazy danych, które możemy wykonać za pomocą zapytań SQL. Chociaż aplikacja jest prosta, pokazuje, jak możemy użyć CockroachDB i PonyORM do stworzenia aplikacji w Pythonie.

Battle for Wesnoth Tutorial
The Battle for Wesnoth is one of the most popular open source strategy games that you can play at this time. Not only has this game been in developmen...
Gry 0 A.D. Tutorial
0 A.D. Tutorial
Out of the many strategy games out there, 0 A.D. manages to stand out as a comprehensive title and a very deep, tactical game despite being open sourc...
Gry Unity3D Tutorial
Unity3D Tutorial
Introduction to Unity 3D Unity 3D is a powerful game development engine. It is cross platform that is it allows you to create games for mobile, web, d...