Версионность базы данных - Программное обеспечение для пропускной системы на основе технологии NFC
С ростом приложения существует проблема обновления схемы базы данных с сохранением внесенных данных. Если информация в базе данных не может быть легко восстановлена необходимо создать скрипты для экспорта и импорта данных. Однако, существует плагин SQLAlchemy-migrate, который позволяет облегчить этот процесс [17].
Для начала использования этого плагина необходимо добавить следующие строчки в начало конфигурационного файла config. py рис. 16:
Рисунок 16. Конфигурация SQLAlchemy-migrate
SQLALCHEMY_DATABASE_URI - задает файл базы данных.
SQLALCHEMY_MIGRATE_REPO - задает директорию, где будут храниться файлы миграции.
Файл инициализации пакета приложения должен выглядеть следующим образом рис. 17:
Рисунок 17. __init__.py
Для создания базы данных используется следующий скрипт рис. 18:
Рисунок 18. db_create. py
После запуска данного скрипта создается пустая база данных изначально с поддержкой миграции. Поддержка миграции осуществляется созданием таблицы migrate_version, которая имеет следующий вид:
Таблица 7 Таблица migrate_version
Repository_id |
Repository_path |
Version |
Database repository |
C:...PassCardServerdb_repository |
4 |
Также создается директория db_repository, где находятся файлы для поддержки версионности. Каталог имеет следующую структуру рис. 19:
Рисунок 19. Структура db_repository
В папке versions находятся скрипты для миграции на определенную версию.
Для перехода на следующую версию БД используется следующий скрипт рис. 20:
Рисунок 20. db_migration. py
Суть миграции заключается в том, что скрипт вычисляет разницу между версиями БД и записывает эту разницу в виде скрипта в директорию /db_repository/versions.
Апгрейд и даунгрейд базы данных производятся с помощью следующий скриптов рис. 21 и рис. 22:
Рисунок 21. db_upgrade. py
Рисунок 22. db_downgrade. py
Похожие статьи
-
В этой главе представлено описание инструментов и методов, использованных при написании кода программы. Инструменты разработки серверной части Для...
-
Заключение - Программное обеспечение для пропускной системы на основе технологии NFC
Обеспечение удобной пропускной системы - важная и актуальная задача. Появление новых технологий, таких как NFC и HCE, позволяет решить эту проблему. В...
-
Эмуляция карт в Android основана на сервисах (класс Service). Преимуществом использования сервисов является отсутствие необходимости запускать...
-
Введение - Программное обеспечение для пропускной системы на основе технологии NFC
Массовые мероприятия стали неотъемлемой частью современного мира. Для таких мероприятий требуется быстрая организация временного разделенного доступа для...
-
Поскольку клиентская часть представляет собой приложение на базе операционной системы Android, то для ее разработки был выбран рекомендуемый...
-
При работе над проектом разрабатывались два основных компонента системы: база данных (далее - БД) и интерфейс клиентского приложения. Затем необходимо...
-
1. НА 7 ПК ИСПОЛЬЗУЕТСЯ microsoft Windows xp sp2. 2. на 1 используется Altlinux 5 3. Программы офисного назначения: A) Microsoft Office Excel 2003 B)...
-
Коммуникация между клиентом и сервером начинается прежде всего с "рукопожатия" ( SSL Handshake). Цели данного рукопожатия, следующие [10]: 1. клиент...
-
Устройство на операционной системе Android с поддержкой технологии NFC поддерживает три способа взаимодействия. Первый способ - режим чтения/записи. Этот...
-
Анализ безопасности - Программное обеспечение для пропускной системы на основе технологии NFC
Для обеспечения безопасности системы было решено использовать протокол HTTPS для связи клиента и сервера. Использование протокола HTTPS для коммуникации...
-
Для решения поставленных задач используются следующие методы: 1) Иерархия пользователей будет определена при помощи построения UML диаграммы, для...
-
Структура системы В ходе разработки выпускной квалификационной работы использовались базы данных, созданные в среде MySQL Workbench, и создано клиентское...
-
Для того, чтобы избежать копирования карты доступа злоумышленниками был введен защитный механизм. Механизм основан на использовании алгоритма RSA....
-
Для того, чтобы использовать симметричные алгоритмы шифрования, необходимо безопасно обменяться ключами. Протокол Диффи - Хеллмана позволяет двум и более...
-
Advanced Encryption System - алгоритм шифрования, разработанный в 1998 году, который пришел на замену алгоритму DES. Данный алгоритм базируется на шифре...
-
В данной главе приводится описание различных криптографических алгоритмов для безопасной передачи данных в приложении. RSA Для того, чтобы избежать...
-
Особенностью архитектуры REST является отсутствия хранения состояния на сервере. Для того, чтобы не передавать пользовательские логин и пароль каждый...
-
Особенностью API для коммуникации с СКУД является то, что авторизация методов происходит не с помощью токена, а с помощью проверки IP адреса клиента на...
-
SSL сертификат представляет собой простой текстовый файл, который может быть редактирован и создан кем угодно. Чтобы убедиться в том, что сертификат...
-
2.1 Описание структуры базы данных Реляционная схема базы данных для ЦЗН представлена следующими таблицами: "ПО" - содержит список единиц программного...
-
Цель Работы - использовать принципы архитектуры "Документ-Представление" для выборки и сохранения данных в файлах, а также взаимодействия элементов меню,...
-
Цель Работы - изучить приемы создания и использования шаблонов классов. - Теоретические сведения Достаточно часто встречаются классы, объекты которых...
-
Введение - Технология разработки программного обеспечения систем управления
С++ является языком объектно-ориентированного программирования (ООП). Объект - абстрактная сущность, наделенная характеристиками объектов реального мира....
-
Модуль функционирует на персональном компьютере под управлением операционной системы версии Microsoft Windows 7 и выше с поддержкой всех соглашений,...
-
В работе использовались следующее программное обеспечение для решения поставленных задач: AutoCAD, ANSYS Workbench, ANSYS Icepak. Система AutoCAD...
-
На данный момент у TUIO есть 3 версии протокола: 1.0, 1.1 и 2.0. Версия 2.0, вышедшая в 2014, имеет множество изменений и нововведений по сравнению с...
-
Для реализации поставленной задачи методом конечных элементов будут использованы следующие программные обеспечения (ПО): - MATLAB - ПО и одноименный язык...
-
Для написания АИС использовались следующие языки программирования, программные средства и библиотеки: - Язык программирования PHP 5.4; -...
-
Регистрация нового пользователя в системе возможна двумя способоами: 1) Самостоятельная регистрация пользователя; 2) Регистрация пользователя...
-
Выбор средств реализации информационной системы Названные в параграфе 1.4. настоящей работы задачи могут быть решены тремя типами средств автоматизации:...
-
Data Encryption Standard - созданный в 1975 году и стандартизированный в 1977 году блочный алгоритм симметричного шифрования. Алгоритм Triple DES (3DES)...
-
На вход сервису от NFC считывателя приходит набор команд APDU. Формат этих команд определен в стандарте ISO/IEC 7816-4 [2]. APDU содержит либо команду,...
-
Анализ современных систем безопасности. Правовые аспекты применения видеонаблюдения Установка системы видеонаблюдения и ее использование являются весьма...
-
Для реализации ИИС контроля расхода энергоресурсов проведем анализ характеристик существующих беспроводных технологий передачи данных. Наиболее...
-
Из универсальных языков программирования сегодня наиболее популярны следующие: Бейсик (Basic), Паскаль (Pascal), Си++ (C++), Ява (Java). Для каждого из...
-
Общая характеристика технологии создания программного обеспечения К программно-инструментальным средствам в первую очередь относятся алгоритмические...
-
Цель Работы - изучить принципы работы элементов управления Progress и Slider. Получить навыки по самостоятельному созданию модальных диалоговых окон. -...
-
В данном разделе была разработана функциональная схема работы программного комплекса, которая в общем виде описывает состав комплекса, характер и виды...
-
Объект ориентированный класс программирование Цель Работы - изучить методику создания одномерных динамических символьных массивов при помощи...
-
Цель Работы - изучить основные способы работы с пользовательским типом данных "класс", его объектами, методами и способы доступа к ним. - Теоретические...
Версионность базы данных - Программное обеспечение для пропускной системы на основе технологии NFC