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
46 lines
2.5 KiB
SQL
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;
|