Python

Как да изградим приложение на Python с CockroachDB и PonyORM

Как да изградим приложение на Python с CockroachDB и PonyORM

В това ръководство ще ви запознаем с CockroachDB и PonyORM с помощта на Python. Ще започнем, като обсъдим кои са тези технологии и след това ще обсъдим как работят.

Преди да започнем да изграждаме приложение на Python с CockroachDB и PonyORM, нека разберем какви са тези технологии:

Какво е CockroachDB

CockroachDB е силно мащабируема, разпределена SQL база данни с отворен код, която използва транзакционни и последователни хранилища ключ-стойност.

CockroachDB е много ефективен като метод за осигуряване на трайност на данните и възстановяване в случай на отказ. В случай на откази на хардуер и софтуер, той може да съхранява данни, като използва силно последователни репликации на своите данни и автоматични поправки. Използвайки SQL API, CockroachDB ви позволява да заявявате, структурирате и манипулирате данни, използвайки SQL заявки.

Използвайки SQL API, CockroachDB осигурява на разработчиците лесен преход, тъй като те получават същите познати концепции. Тъй като вече има съществуващи SQL драйвери за повечето езици за програмиране, използването му става по-удобно.

Препоръчваме ви да разгледате документацията на CockroachDB за по-добро разбиране.

https: // linkfy.до / хлебарка Документи

Какво е PonyORM

PonyORM е усъвършенстван Python обектно-релационен картограф. Въпреки че има и други Python ORM като Django и SQLAlchemy, PonyORM е изгоден, тъй като има функции като поддръжка на композитни ключове, автоматична оптимизация на заявката и интуитивен и ясен синтаксис на заявката.

ORM е просто инструмент, който ви позволява да работите с SQL база данни, използвайки предпочитания от вас език за програмиране. Той дава възможност на разработчиците да работят с данните в базата данни под формата на обекти; следователно можете да използвате OOP за вашия език, за да работите с данните.

Използвайки библиотеката PonyORM, можем да използваме езика Python за работа с данни в CockroachDB под формата на обекти от релационната база данни.

Можете да използвате документацията за PonyORM за справка. Ето връзката:

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

Как да инсталирате CockroachDB на Linux

За да инсталирате CockroachDB на Linux системи, следвайте стъпките в това ръководство и в зависимост от вашата системна конфигурация ще трябва да имате root достъп или да сте sudo потребител.

Първата стъпка е да се уверите, че вашата система е актуална и след това да инсталирате необходимите зависимости. Ето командата за това:

sudo apt-get update && sudo apt-get upgrade
sudo apt-get инсталиране на glibc libncurses tzdata -y

Следващата стъпка е да изтеглите двоичния файл CockroachDB с помощта на wget, както е показано в командата по-долу:

wget -qO- https: // двоични файлове.хлебарка.com / хлебарка-v20.2.3.linux-amd64.tgz

След като изтеглите двоичния файл, извлечете файла.

tar -xvf хлебарка-v20.2.3.linux-amd64.tgz

За да стартирате команди CockroachDB от която и да е обвивка, добавете двоичния файл към пътя си:

cp -i хлебарка-v20.2.3. linux-amd64 / хлебарка / usr / bin /

Копирайте необходимите библиотеки:

mkdir -p / usr / lib / хлебарка
cp -i хлебарка-v20.2.3.linux-amd64 / lib / libgeos.така / usr / lib / хлебарка /
cp -i хлебарка-v20.2.3.linux-amd64 / lib / libgeos_c.така / usr / lib / хлебарка /

След като приключите, потвърдете, че сте инсталирали хлебарка:

кой хлебарка
/ usr / bin / хлебарка

Стартирайте временен клъстер в паметта, като използвате командата:

демо за хлебарки

Вътре в клъстера можете да стартирате интерактивна SQL обвивка, за да въведете валидни SQL заявки:

ПОКАЖЕТЕ МАСИ;

Как да инсталирате PonyORM

За да инсталирате PonyORM, трябва да имате инсталирана и работеща версия на Python. Можете да използвате както Python 2 (мъртъв), така и Python 3.

С помощта на pip инсталирайте Pony:

pip3 инсталиране на пони

За да проверите дали имате инсталиран Pony, отворете интерпретатора на Python и въведете кода.

>>> от пони. импортиране на orm *

Тъй като ще използваме PonyORM с CockroachDB, трябва да инсталираме необходимия драйвер. В този случай трябва да инсталираме psycopg2. Използвайте командата pip, за да инсталирате необходимия драйвер.

pip инсталирайте psycopg2-двоичен файл

Проверете дали имате инсталиран Psycopg с помощта на интерактивната сесия на python и въведете командата:

внос psycopg

След като инсталирате всичко, можете да продължите и да започнете да работите с CochroachDB и PonyORM:

Как да изградим приложение на Python с CockroachDB и PonyORM

За да създадете приложение на python, започнете, като стартирате интерактивна SQL черупка с помощта на командата.

хлебарка SQL

Следващата стъпка е да създадете база данни и потребител за взаимодействие, което можете да направите с помощта на командата:

СЪЗДАЙТЕ ПОТРЕБИТЕЛ, АКО НЕ СЪЩЕСТВУВА admin;
СЪЗДАЙТЕ БЛОГ НА БАЗАТА ДАННИ;

Добавете необходимите привилегии към администратора с помощта на командата:

ПРЕДОСТАВЕТЕ ВСИЧКИ БЛОГА НА БАЗАТА ДАННИ НА администратора;
\ q;

Сега за раздела за приложението:

Кодът по-долу използва PonyORM за взаимодействие с базата данни на блога и картографиране на обектите и методите на Python към базата данни SQL.

Кодът по-долу извършва следните операции:

от пони.импортиране на orm *
импортиране на дата и час
база данни = база данни ()
db_params = dict (доставчик = 'хлебарка', потребител = 'администратор',
host = 'localhost', port = 26257, database = 'blog')
клас Потребител (база данни.Обект):
first_name = Задължително (unicode)
blogs = Set ("Blog")
клас Блог (база данни.Обект):
потребителско име = Задължително (Потребител)
заглавие = задължително (unicode)
публикация_данни = Задължително (дата и час.дата)
категория = задължително (unicode)
set_sql_debug (Вярно)
база данни.обвързване (** db_params)
база данни.генериране на картографиране (create_tables = True)
@db_session
def create_blog ():
user = Потребител (first_name = u "Admin")
blog = Блог (потребителско име = потребител,
title = u "Здравей, свят",
дата на публикуване = дата и час.дата (2021, 1, 1),
категория = u "Чернова")
блогове = [

"потребител": потребител,
"title": "Hello world 1",
"публикуване_дата": дата и час.дата (2021, 1, 2),
"категория": "Чернова"
,

"потребител": потребител,
"title": "Hello world 2",
"публикуване_дата": дата и час.дата (2021, 1, 3),
"категория": "Чернова"
,

"потребител": потребител,
"title": "Hello world 3",
"публикуване_дата": дата и час.дата (2021,1,4),
"категория": "Чернова"

]
за блог в блогове:
b_ = Блог (** блог)
ако __name__ == "__main__":
create_blog ()
b_ = Потребител ("Администратор")

След като стартирате приложението, трябва да видите изход, подобен на показания по-долу:

ВЗЕМЕТЕ НОВА ВРЪЗКА
ОСВОБОЖДАВАНЕ НА ВРЪЗКАТА
ВЗЕМЕТЕ ВРЪЗКА ОТ МЕСТНИЯ БАСЕЙН
ПРЕВКЛЮЧЕТЕ В РЕЖИМ АВТОКОММИТ
СЪЗДАЙТЕ ТАБЛИЦА "потребител" (
"id" СЕРИАЛЕН ОСНОВЕН КЛЮЧ,
"first_name" ТЕКСТ НЕ НУЛ
)
СЪЗДАЙТЕ ТАБЛИЦА „блог“ (
“Id” СЕРИАЛЕН ОСНОВЕН КЛЮЧ,
„Потребителско име“ INT8 НЕ Е НУЛО,
„Заглавие“ ТЕКСТ НЕ НУЛ,
„Публикация_датата“ ДАТА НЕ Е НУЛА,
„Категория“ ТЕКСТ НЕ НУЛЕН
)
CREATE INDEX "idx_blog__username" ON "blog" ("потребителско име")
ALTER TABLE "блог" ДОБАВЯНЕ НА ОГРАНИЧЕНИЕ "fk_blog__username" ЧУЖДЕСТРАНЕН КЛЮЧ ("потребителско име") РЕФЕРЕНЦИИ "потребител" ("id") ПРИ ИЗТРИВАНЕ НА КАСКАДАТА
ИЗБЕРЕТЕ "блог"."id", "blog"."потребителско име", "блог"."заглавие", "блог"."публикуване_датата", "блог"."категория"
ОТ "блог" "блог"
КЪДЕ 0 = 1
ИЗБЕРЕТЕ "потребител"."id", "потребител"."първо име"
ОТ "потребител" "потребител"
КЪДЕ 0 = 1

Заключение

Използвайки приложението по-горе, създадохме просто приложение за блог, което създава потребител и присвоява блогове на потребителското име. След това добавихме данните в базата данни, които можем да направим с помощта на SQL заявки. Въпреки че приложението е просто, то илюстрира как можем да използваме CockroachDB и PonyORM, за да създадем приложение на Python.

Инсталирайте най-новия Dolphin Emulator за Gamecube & Wii на Linux
Dolphin Emulator ви позволява да играете избраните от вас игри Gamecube & Wii на Linux Personal Computers (PC). Като безплатно достъпен и емулатор на...
Как да използвам GameConqueror Cheat Engine в Linux
Статията обхваща ръководство за използването на GameConqueror cheat engine в Linux. Много потребители, които играят игри под Windows, често използват ...
Най-добрите емулатори на игрови конзоли за Linux
Тази статия ще изброи популярния софтуер за емулация на игрова конзола, наличен за Linux. Емулацията е слой за софтуерна съвместимост, който емулира х...