0.2.0 Воицы

  • СУС «ГИРВАС»

    Гибкая и бесплатная система управления содержимым, позволяющая создать сайт любого направления.

    С нами проще!

  • Абсолютно бесплатно

    Хватит использовать старые и платные системы управления! Настала эпоха новых решений - выбирайте «GIRVAS»!

  • Карельское решение

    «ГИРВАС» разработана в Республике Карелия, а также внесена в Реестр российского программного обеспечения Министерством цифрового развития Российской Федерации (реестровая запись №25012 от 27.11.2024).

0.2.0 Воицы

Последние изменения

  • Приведение наименований переменных, методов, и свойств объектов в соответствие с правилами PSR-1;
  • Приведение кода в соответствие с правилами PSR-12;
  • Добавление условия IF EXISTS в условие предложения ALTER TABLE для сборщика SQL-запросов;
  • Добавление чувствительности к регистру у выбираемых колонок в предложении SELECT для сборщика SQL-запросов;
  • Добавлена проверка на наличие группы пользователем с таким же техническим наименованием, как и у редактируемой;
  • Добавление аргумента с типом системы управления базами данных для инициализации сборщика запросов к базе данных;
  • Реализован метод в классе системного ядра для корректной проверки HTTPS-соединения, включая проверку для облачных окружений и прокси;
  • Реализован метод в классе системного ядра для автоматического подключения файлов (ранее подключение не было вынесено в отдельный метод);
  • Реализован общий интерфейс для классов локализации системного ядра, модулей и тем системы;
  • Реализация поддержки СУБД MySQL;
  • Добавление псевдонима для агрегатной SQL-функции count(*) при определении количества записей в таблицах баз данных для адаптации под различные СУБД;
  • Реализация метода получения предыдущего URL (Referrer) для класса парсера адресной строки;
  • Исправлена ошибка, из-за которой сборщик фидов не мог осуществить сборку из-за наличия HTML-сущностей в описании контента;
  • Замена логотипа системы в первичном шаблоне сайта на новый;
  • Обновлены локализации: ru_RU, en_US;
  • Рефакторинг кода системы, первичных шаблонов сайта и административной панели;
  • Небольшие стилистические коррекции первичного шаблона сайта;
  • Иные мелкие исправления;

Адаптация старой базы данных

Следующие SQL-запросы помогут корректно адаптировать базу данных PostgreSQL, сгенерированную системой управления содержимым «ГИРВАС» до обновления 0.2.0 Воицы.

Переименование колонок

ALTER TABLE configurations RENAME COLUMN created_unix_timestamp to "createdUnixTimestamp";

ALTER TABLE configurations RENAME COLUMN updated_unix_timestamp to "updatedUnixTimestamp";

ALTER TABLE entries RENAME COLUMN author_id to "authorID";

ALTER TABLE entries RENAME COLUMN category_id to "categoryID";

ALTER TABLE entries RENAME COLUMN created_unix_timestamp to "createdUnixTimestamp";

ALTER TABLE entries RENAME COLUMN updated_unix_timestamp to "updatedUnixTimestamp";

ALTER TABLE entries_categories RENAME COLUMN parent_id to "parentID";

ALTER TABLE entries_categories RENAME COLUMN created_unix_timestamp to "createdUnixTimestamp";

ALTER TABLE entries_categories RENAME COLUMN updated_unix_timestamp to "updatedUnixTimestamp";

ALTER TABLE entries_comments RENAME COLUMN author_id to "authorID";

ALTER TABLE entries_comments RENAME COLUMN entry_id to "entryID";

ALTER TABLE entries_comments RENAME COLUMN created_unix_timestamp to "createdUnixTimestamp";

ALTER TABLE entries_comments RENAME COLUMN updated_unix_timestamp to "updatedUnixTimestamp";

ALTER TABLE entries_samples RENAME COLUMN created_unix_timestamp to "createdUnixTimestamp";

ALTER TABLE entries_samples RENAME COLUMN updated_unix_timestamp to "updatedUnixTimestamp";

ALTER TABLE metrics RENAME COLUMN created_unix_timestamp to "createdUnixTimestamp";

ALTER TABLE metrics RENAME COLUMN updated_unix_timestamp to "updatedUnixTimestamp";

ALTER TABLE pages_static RENAME COLUMN author_id to "authorID";

ALTER TABLE pages_static RENAME COLUMN created_unix_timestamp to "createdUnixTimestamp";

ALTER TABLE pages_static RENAME COLUMN updated_unix_timestamp to "updatedUnixTimestamp";

ALTER TABLE reports RENAME COLUMN created_unix_timestamp to "createdUnixTimestamp";

ALTER TABLE users RENAME COLUMN password_hash to "passwordHash";

ALTER TABLE users RENAME COLUMN security_hash to "securityHash";

ALTER TABLE users RENAME COLUMN email_is_submitted to "emailIsSubmitted";

ALTER TABLE users RENAME COLUMN created_unix_timestamp to "createdUnixTimestamp";

ALTER TABLE users RENAME COLUMN updated_unix_timestamp to updatedUnixTimestamp;

ALTER TABLE users_groups RENAME COLUMN created_unix_timestamp to "createdUnixTimestamp";

ALTER TABLE users_groups RENAME COLUMN updated_unix_timestamp to "updatedUnixTimestamp";

ALTER TABLE users_registration_submits RENAME COLUMN user_id to "userID";

ALTER TABLE users_registration_submits RENAME COLUMN submit_token to "submitToken";

ALTER TABLE users_registration_submits RENAME COLUMN refusal_token to "refusalToken";

ALTER TABLE users_registration_submits RENAME COLUMN created_unix_timestamp to "createdUnixTimestamp";

ALTER TABLE users_sessions RENAME COLUMN user_id to "userID";

ALTER TABLE users_sessions RENAME COLUMN user_ip to "userIP";

ALTER TABLE users_sessions RENAME COLUMN type_id to "typeID";

ALTER TABLE users_sessions RENAME COLUMN created_unix_timestamp to "createdUnixTimestamp";

ALTER TABLE users_sessions RENAME COLUMN updated_unix_timestamp to "updatedUnixTimestamp";

ALTER TABLE web_channels RENAME COLUMN entries_category_id to "entriesCategoryID";

ALTER TABLE web_channels RENAME COLUMN type_id to "typeID";

ALTER TABLE web_channels RENAME COLUMN created_unix_timestamp to "createdUnixTimestamp";

ALTER TABLE web_channels RENAME COLUMN updated_unix_timestamp to "updatedUnixTimestamp";

Переименование свойств JSON-объектов в метаданных

UPDATE users SET metadata = jsonb_set( metadata, "{groupID}", metadata->"group_id" ) || jsonb_build_object("metadata", metadata - "group_id");

UPDATE entries SET metadata = jsonb_set( metadata, "{isPublish}", metadata->"is_publish" ) || jsonb_build_object("metadata", metadata - "is_publish");

UPDATE entries SET metadata = jsonb_set( metadata, "{previewURL}", metadata->"preview_url" ) || jsonb_build_object("metadata", metadata - "preview_url");

UPDATE pages_static SET metadata = jsonb_set( metadata, "{isPublish}", metadata->"is_publish" ) || jsonb_build_object("metadata", metadata - "is_publish");

UPDATE pages_static SET metadata = jsonb_set( metadata, "{previewURL}", metadata->"preview_url" ) || jsonb_build_object("metadata", metadata - "preview_url");

UPDATE metrics SET "data" = jsonb_set( "data", "{metrics}", jsonb_set( "data"->"metrics", "{views}", ( SELECT jsonb_object_agg( view.key, jsonb_set( view.value, "{URLTransfers}", ( SELECT jsonb_agg( jsonb_set( transfer_elem, array[transfer_key], jsonb_set( transfer_elem->transfer_key, "{isVisitedNew}", (transfer_elem->transfer_key)->"is_visited_new" ) - "is_visited_new" ) ) FROM jsonb_array_elements(view.value->"url_transfers") AS transfer_elem, jsonb_object_keys(transfer_elem) AS transfer_key ) ) - "url_transfers" ) FROM jsonb_each("data"->"metrics"->"views") AS view ) ) ) WHERE "data" @? "$.metrics.views.*.url_transfers";

Комментарии
К этой записи нет комментариев.