lss-server-php:db-datastructure-versionscript
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| lss-server-php:db-datastructure-versionscript [2025/12/29 12:50] – [Написание версион-скриптов] madmin | lss-server-php:db-datastructure-versionscript [2026/06/15 16:36] (текущий) – [Написание версион-скриптов] madmin | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ====== Технология внесения изменений в структуру базы данных ====== | ====== Технология внесения изменений в структуру базы данных ====== | ||
| - | В настоящий момент | + | В настоящий момент полноценно реализована |
| ===== Первоначальное создание базы данных ===== | ===== Первоначальное создание базы данных ===== | ||
| - | Необходимо создать пустую БД и прогнать на ней скрипт pgsql-systable.sql, | + | Необходимо создать пустую БД и выполнить на ней скрипты создания и инициализации системных таблиц |
| + | * для **PostgreSql** скрипты **pgsql-systable-create.sql** и **pgsql-systable-init.sql**, см [[db-datastructure-postgresql]]. | ||
| + | * для **SQlite** скрипты **sqlite-systable-create.sql** и **sqlite-systable-init.sql**, | ||
| ===== Режим локальной разработки ===== | ===== Режим локальной разработки ===== | ||
| Существует несколько конкурирующих технологий совместной работы команды программистов над проектом. | Существует несколько конкурирующих технологий совместной работы команды программистов над проектом. | ||
| Строка 8: | Строка 11: | ||
| В настоящий момент наиболее проработанная технология - **режим локальной работы**. Разберем его подробнее. | В настоящий момент наиболее проработанная технология - **режим локальной работы**. Разберем его подробнее. | ||
| - | В этом режиме есть 3 разновидности **ролей** для серверов, | + | В этом режиме есть 3 разновидности **ролей** для серверов, |
| * Роль сервера **local** - компьютер разработчика. Каждый разработчик работает со своей копией БД, разработчики обмениваются между собой изменениями через git. | * Роль сервера **local** - компьютер разработчика. Каждый разработчик работает со своей копией БД, разработчики обмениваются между собой изменениями через git. | ||
| * Роль сервера **dev** - эталонный общий сервер команды разработчиков. На нем развернут последний актуальный релиз ПО проекта. Именно на нем следует править содержимое системных таблиц. | * Роль сервера **dev** - эталонный общий сервер команды разработчиков. На нем развернут последний актуальный релиз ПО проекта. Именно на нем следует править содержимое системных таблиц. | ||
| Строка 23: | Строка 26: | ||
| ==== Внесение изменений в структуру базы данных ==== | ==== Внесение изменений в структуру базы данных ==== | ||
| - | Для внесения изменений в структуру базы данных используется технология версион-скриптов. Каждый скрипт оформляется в виде отдельного файла. Программисты обмениваются этими файлами через git. | + | Для внесения изменений в структуру базы данных используется технология |
| - | В меню проекта: | + | В меню проекта: |
| - | После выполнения всех новых версион-скриптов структура БД становится актуальной. | + | После выполнения всех новых |
| Помимо актуальной **структуры**, | Помимо актуальной **структуры**, | ||
| Строка 35: | Строка 38: | ||
| * нельзя вносить изменения в версион-скрипт после того, как он откинут в ветку git, предназначенную для совместной работы | * нельзя вносить изменения в версион-скрипт после того, как он откинут в ветку git, предназначенную для совместной работы | ||
| * SQL код версион-скриптов выполняется в **режиме репликации**, | * SQL код версион-скриптов выполняется в **режиме репликации**, | ||
| - | * удаление или изменение типа существующих полей таблицы в версион-скрипте может не сработать из-за наличия связанного с таблицей view представления. Для решения проблемы служит вызов процедуры: | + | |
| ==== Подведем итоги ==== | ==== Подведем итоги ==== | ||
| В режиме **локальной разработки**: | В режиме **локальной разработки**: | ||
lss-server-php/db-datastructure-versionscript.1767001839.txt.gz · Последнее изменение: 2025/12/29 12:50 — madmin
