Files
MijnBesluit/db/22_versiehistorie.sql
jfandClaude Sonnet 5.5 5446dd4170 Versiehistorie in een tabel, voor site en app
De versiehistorie stond als tekst in zowel de app als de website. Nu staat hij in
tabel version_history, met een beheerpagina (Beheer > Versiehistorie) op de site.
De site leest de tabel rechtstreeks, de app via de nieuwe actie app.versiehistorie.
Startrijen: db/handmatig/22b_versiehistorie_startrijen.sql (als root).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014MGLqt1uKfNARQHut9ifcx
2026-10-20 11:47:06 +00:00

46 lines
2.5 KiB
SQL

-- MijnBesluit - de versiehistorie in de database in plaats van in de code
--
-- De lijst "wat is er nieuw" stond vast in twee bestanden (Versiehistorie.razor in de site en in de
-- app), en moest dus bij elke wijziging op twee plekken worden aangepast. En de app die al in de
-- Play Store staat kon een nieuwe regel nooit tonen. Nu staat de lijst hier: de beheerder
-- onderhoudt hem op de website (/beheer/versiehistorie), de site leest hem uit de database en de
-- app vraagt hem aan de server. Een nieuwe regel is meteen overal te zien.
--
-- version_history een regel per nieuwe of wezenlijk gewijzigde functie. Regels met dezelfde
-- datum (en versie) worden samen onder één kop getoond.
--
-- Regels die de server afdwingt (niet de database):
-- * Alleen een beheerder maakt, wijzigt of verwijdert een regel.
-- * Een verborgen regel (zichtbaar = 0) ziet alleen de beheerder.
-- * Platte tekst: er gaat geen opmaak of HTML door.
--
-- Draaien met:
-- mysql -u root -p mijnbesluit < db\22_versiehistorie.sql
--
-- Opnieuw draaien mag: er gebeurt dan niets.
--
-- Na dit script, eenmalig als root:
-- mysql -u root -p < db\02_applicatiegebruiker.sql (rechten op de nieuwe tabel)
-- mysql -u root -p mijnbesluit < db\handmatig\22b_versiehistorie_startrijen.sql (de bestaande regels)
USE `mijnbesluit`;
CREATE TABLE IF NOT EXISTS `version_history` (
`id` INT NOT NULL AUTO_INCREMENT,
`datum` DATE NOT NULL, -- de dag waarop de functie er kwam
`versie` VARCHAR(20) NULL, -- bijvoorbeeld 1.1; leeg als het geen app-versie betreft
`kop` VARCHAR(120) NOT NULL, -- het vette stukje: wat kun je nu
`tekst` VARCHAR(1000) NOT NULL, -- de uitleg erachter, platte tekst
`zichtbaar` TINYINT(1) NOT NULL DEFAULT 1,
`aangemaakt_op` DATETIME(3) NOT NULL,
`gewijzigd_op` DATETIME(3) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `ux_version_history_datum_kop` (`datum`, `kop`),
KEY `ix_version_history_datum` (`datum`)
) ENGINE=InnoDB;
-- Startrijen staan NIET hier maar in handmatig\22b_versiehistorie_startrijen.sql: de uitrolagent
-- draait dit script met een account dat geen gegevens mag invoegen (zie 21_kluissoorten.sql).
SELECT 'Klaar. De tabel voor de versiehistorie staat klaar. Vergeet handmatig\\22b_versiehistorie_startrijen.sql en 02_applicatiegebruiker.sql niet (als root).' AS melding;