Veröffentlichung von CMS "GIRVAS" vom 08.07.2025 in der Entwicklungsphase "Woizy".
Neueste Änderungen
- Anpassung der Benennung von Variablen, Methoden und Objekteigenschaften an die PSR-1-Regeln;
- Anpassung des Codes an die PSR-12-Regeln;
- Hinzufügung der IF EXISTS-Bedingung zur ALTER TABLE-Anweisung für den SQL-Query-Builder;
- Hinzufügung der Groß-/Kleinschreibung für ausgewählte Spalten in der SELECT-Anweisung für den SQL-Query-Builder;
- Hinzufügung einer Prüfung, ob bereits eine Benutzergruppe mit demselben technischen Namen existiert wie die zu bearbeitende;
- Hinzufügung eines Arguments mit dem DBMS-Typ für die Initialisierung des Query-Builders;
- Implementierung einer Methode in der Systemkern-Klasse zur korrekten Prüfung von HTTPS-Verbindungen, einschließlich der Prüfung für Cloud-Umgebungen und Proxys;
- Implementierung einer Methode in der Systemkern-Klasse zum automatischen Einbinden von Dateien (zuvor war das Einbinden nicht in eine separate Methode ausgelagert);
- Implementierung einer gemeinsamen Schnittstelle für die Lokalisierungsklassen des Systemkerns, der Module und der Themes;
- Implementierung der MySQL-DBMS-Unterstützung;
- Hinzufügung eines Alias für die Aggregat-SQL-Funktion COUNT() bei der Bestimmung der Anzahl von Datensätzen in Datenbanktabellen zur Anpassung an verschiedene DBMS;
- Implementierung einer Methode zum Abrufen der vorherigen URL (Referrer) für die URL-Parser-Klasse;
- Behebung eines Fehlers, aufgrund dessen der Feed-Collector aufgrund von HTML-Entitäten in der Inhaltsbeschreibung keine Sammlung durchführen konnte;
- Austausch des Systemlogos im primären Website-Template durch ein neues;
- Aktualisierung der Lokalisierungen: ru_RU, en_US;
- Refactoring des Systemcodes, der primären Website-Templates und des Admin-Panels;
- Kleine stilistische Korrekturen des primären Website-Templates;
- Weitere kleinere Korrekturen;
Vorherige Veröffentlichung: 0.1.36 Alpha
Anpassung der alten Datenbank
Die folgenden SQL-Abfragen helfen bei der korrekten Anpassung der PostgreSQL-Datenbank, die vom CMS "GIRVAS" vor dem Update 0.2.0 Woizy generiert wurde.
Umbenennung von Spalten
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";
Umbenennung von Eigenschaften von JSON-Objekten in den Metadaten
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";
Kommentare