Python

Как создать приложение Python с помощью CockroachDB и PonyORM

Как создать приложение Python с помощью CockroachDB и PonyORM

В этом руководстве мы познакомим вас с CockroachDB и PonyORM с использованием Python. Мы начнем с обсуждения, что это за технологии, а затем обсудим, как они работают.

Прежде чем мы начнем создавать приложение Python с помощью CockroachDB и PonyORM, давайте разберемся, что это за технологии:

Что такое CockroachDB

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

CockroachDB очень эффективен как метод обеспечения сохранности и восстановления данных в случае сбоя. В случае сбоев оборудования и программного обеспечения он может сохранить данные, используя строго согласованные репликации своих данных и автоматическое восстановление. Используя SQL API, CockroachDB позволяет запрашивать, структурировать и манипулировать данными с помощью SQL-запросов.

Используя SQL API, CockroachDB предоставляет разработчикам простой переход, поскольку они получают те же знакомые концепции. Поскольку в нем уже есть драйверы SQL для большинства языков программирования, его использование становится более удобным.

Мы рекомендуем вам ознакомиться с документацией CockroachDB для лучшего понимания.

https: // linkfy.to / cockroachDocs

Что такое ПониОРМ

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

ORM - это просто инструмент, который позволяет вам работать с базой данных SQL, используя предпочитаемый вами язык программирования. Это дает разработчикам возможность работать с данными в базе данных в виде объектов; следовательно, вы можете использовать ООП для своего языка для работы с данными.

Используя библиотеку PonyORM, мы можем использовать язык Python для работы с данными в CockroachDB в виде объектов реляционной базы данных.

Вы можете использовать документацию PonyORM для справки. Вот ссылка:

https: // документы.пониорм.org / toc.html

Как установить CockroachDB в Linux

Чтобы установить CockroachDB в системах Linux, выполните действия, описанные в этом руководстве, и, в зависимости от конфигурации вашей системы, вам потребуется иметь root-доступ или быть пользователем sudo.

Первый шаг - убедиться, что ваша система обновлена, а затем установить необходимые зависимости. Вот команда для этого:

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

Следующим шагом является загрузка двоичного файла CockroachDB с помощью wget, как показано в приведенной ниже команде:

wget -qO- https: // двоичные файлы.таракан.com / таракан-v20.2.3.linux-amd64.тгз

После того, как вы загрузили двоичный файл, извлеките файл.

tar -xvf таракан-v20.2.3.linux-amd64.тгз

Чтобы запускать команды CockroachDB из любой оболочки, добавьте двоичный файл в свой путь:

cp -i таракан-v20.2.3. linux-amd64 / таракан / usr / bin /

Скопируйте необходимые библиотеки:

mkdir -p / usr / lib / таракан
cp -i таракан-v20.2.3.Linux-amd64 / библиотека / libgeos.так / usr / lib / таракан /
cp -i таракан-v20.2.3.Linux-amd64 / библиотека / libgeos_c.так / usr / lib / таракан /

После завершения подтвердите, что у вас установлен Cockroach:

какой таракан
/ usr / bin / таракан

Запустите временный кластер в памяти, используя команду:

демонстрация тараканов

Внутри кластера вы можете запустить интерактивную оболочку SQL для ввода действительных SQL-запросов:

ПОКАЗАТЬ ТАБЛИЦЫ;

Как установить PonyORM

Чтобы установить PonyORM, у вас должна быть установлена ​​и запущена версия Python. Вы можете использовать как Python 2 (мертвый), так и Python 3.

Используя pip, установите Pony:

pip3 установить пони

Чтобы проверить, установлен ли у вас Pony, откройте интерпретатор Python и введите код.

>>> из пони. orm import *

Поскольку мы будем использовать PonyORM с CockroachDB, нам нужно установить требуемый драйвер. В этом случае нам необходимо установить psycopg2. Используйте команду pip для установки необходимого драйвера.

pip установить psycopg2-binary

Проверьте, установлен ли у вас Psycopg, используя интерактивный сеанс Python, и введите команду:

импорт psycopg

После того, как вы все установили, вы можете двигаться дальше и начинать работать с CochroachDB и PonyORM:

Как создать приложение Python с помощью CockroachDB и PonyORM

Чтобы создать приложение на Python, начните с запуска интерактивной оболочки SQL с помощью команды.

таракан SQL

Следующим шагом является создание базы данных и пользователя для взаимодействия, что вы можете сделать с помощью команды:

СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ, ЕСЛИ НЕ СУЩЕСТВУЕТ admin;
СОЗДАТЬ блог БАЗЫ ДАННЫХ;

Добавьте необходимые привилегии пользователю admin с помощью команды:

ПРЕДОСТАВИТЬ ВСЕ НА БАЗЕ ДАННЫХ блог администратору;
\ q;

Теперь о разделе приложений:

В приведенном ниже коде используется PonyORM для взаимодействия с базой данных блога и сопоставления объектов и методов Python с базой данных SQL.

Приведенный ниже код выполняет следующие операции:

из пони.orm import *
дата и время импорта
база данных = База данных ()
db_params = dict (поставщик = 'таракан', пользователь = 'админ',
хост = 'localhost', порт = 26257, база данных = 'блог')
класс User (база данных.Юридическое лицо):
first_name = Обязательно (юникод)
blogs = Set («Блог»)
Блог класса (база данных.Юридическое лицо):
username = Обязательно (Пользователь)
title = Обязательно (юникод)
publish_date = Обязательно (datetime.Дата)
category = обязательно (юникод)
set_sql_debug (Истина)
база данных.привязать (** db_params)
база данных.generate_mapping (create_tables = True)
@db_session
def create_blog ():
user = Пользователь (first_name = u "Администратор")
blog = Блог (имя пользователя = пользователь,
title = u "Привет, мир",
publish_date = datetime.дата (2021, 1, 1),
category = u "Черновик")
блоги = [

"пользователь": пользователь,
"title": "Привет, мир 1",
"publish_date": datetime.дата (2021, 1, 2),
«категория»: «Проект»
,

"пользователь": пользователь,
"title": "Привет, мир 2",
"publish_date": datetime.дата (2021, 1, 3),
«категория»: «Проект»
,

"пользователь": пользователь,
"title": "Привет, мир 3",
"publish_date": datetime.дата (2021,1,4),
«категория»: «Проект»

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

После запуска приложения вы должны увидеть результат, аналогичный показанному ниже:

ПОЛУЧИТЬ НОВОЕ СОЕДИНЕНИЕ
РАЗБЛОКИРОВАТЬ СОЕДИНЕНИЕ
ПОДКЛЮЧЕНИЕ ОТ МЕСТНОГО БАССЕЙНА
ПЕРЕЙТИ В РЕЖИМ АВТОКОММИТАЦИИ
СОЗДАТЬ ТАБЛИЦУ "пользователь" (
"id" СЕРИЙНЫЙ ПЕРВИЧНЫЙ КЛЮЧ,
ТЕКСТ "first_name" НЕ ПУСТОЙ
)
СОЗДАТЬ ТАБЛИЦУ «блог» (
«Id» СЕРИЙНЫЙ ПЕРВИЧНЫЙ КЛЮЧ,
«Имя пользователя» INT8 NOT NULL,
«Заголовок» ТЕКСТ НЕ ПУСТОЙ,
«Publish_date» DATE NOT NULL,
«Категория» ТЕКСТ НЕ ПУСТОЙ
)
СОЗДАТЬ ИНДЕКС "idx_blog__username" ON "blog" ("имя пользователя")
ALTER TABLE "blog" ДОБАВИТЬ ОГРАНИЧЕНИЕ "fk_blog__username" ИНОСТРАННЫЙ КЛЮЧ ("имя пользователя") ССЫЛКИ "user" ("id") ПРИ КАСКАДНОМ УДАЛЕНИИ
ВЫБЕРИТЕ "блог"."идентификатор", "блог"."имя пользователя", "блог"."название", "блог"."publish_date", "блог"."категория"
ИЗ "блог" "блог"
ГДЕ 0 = 1
ВЫБЕРИТЕ «пользователя»."идентификатор", "пользователь"."имя"
ОТ "пользователь" "пользователь"
ГДЕ 0 = 1

Заключение

Используя приведенное выше приложение, мы создали простое приложение для ведения блога, которое создает пользователя и присваивает блогам имя пользователя. Затем мы добавили данные в базу данных, которую мы можем запросить с помощью SQL-запросов. Хотя приложение простое, оно показывает, как мы можем использовать CockroachDB и PonyORM для создания приложения Python.

Обзор беспроводной мыши Microsoft Sculpt Touch
Я недавно прочитал о Microsoft Sculpt Touch беспроводная мышь и решил ее купить. Побывав некоторое время, я решил поделиться своим опытом с ним. Эта б...
Экранный трекпад и указатель мыши AppyMouse для планшетов с Windows
Пользователи планшетов часто пропускают указатель мыши, особенно когда они привыкли пользоваться ноутбуками. Смартфоны и планшеты с сенсорным экраном ...
Средняя кнопка мыши не работает в Windows 10
В средняя кнопка мыши помогает пролистывать длинные веб-страницы и экраны с большим объемом данных. Если это прекратится, вы в конечном итоге будете и...