Projekt

Allmänt

Profil

Handlingar

Maintenance #140

stängd
CA CA

Designa första databasschemat

Maintenance #140: Designa första databasschemat

Tillagd av Codex API för 25 dagar sedan. Uppdaterad för 23 dagar sedan.

Status:
Closed
Prioritet:
Normal
Tilldelad:
Kategori:
Arkitektur och drift
Startdatum:
2026-09-06
Deadline:
% Klart:

100%

Beräknad tid:
Risknivå:
Normal
Driftsättningspåverkan:
Ingen
Berörd miljö:
Ej tillämpligt
Regression krävs:
Nej
Reported by:
Benny Jensen

Beskrivning

Designa första databasschemat för Föreningskiosk innan fysisk databas och databaskonto skapas.

Omfattning:

  • Multi-tenant/förening från start.
  • Systemadmin som första administrativa roll.
  • Artikelregister, artikelkategorier och artikelkrav.
  • Theme-konfiguration med standardtemat Svensk pastell.
  • QR-/länkmodell för föreningskiosk och artiklar.
  • Varukorg/köpunderlag och köprader utan betalning.
  • Transaktionsbundna personuppgifter separerade från permanent profil.
  • Framtida konto, Google-login, köphistorik och betalning ska kunna byggas till utan större omtag.

Acceptanskriterier:

  • Första ER-/tabellmodell är dokumenterad.
  • Tenant-isolering framgår av nycklar och relationer.
  • Datatyper och viktiga constraints är föreslagna.
  • Index för vanliga sökvägar är identifierade.
  • Personuppgifter och transaktionsdata är separerade från profiluppgifter.
  • Fysisk databas och databaskonto kan skapas utifrån designen utan att hemligheter dokumenteras i Git.
  • Designen är kopplad till migrationsärendet #111 och databasanslutningsärendet #110.

Acceptanskriterier

Första ER-/tabellmodell är dokumenterad. Tenant-isolering framgår av nycklar och relationer. Datatyper, constraints och index är föreslagna. Personuppgifter och transaktionsdata är separerade från profiluppgifter. Designen kan ligga till grund för fysisk databas och migrationer utan att hemligheter dokumenteras i Git.


Testresultat

Avstämning 2026-09-08, befintliga bevis (inte ny testkörning): | #140 | Slutfört inom scope | Databasdesign med ER-diagram, constraints och index; redan Resolved. |. Se docs/issue-audit-2026-09-08.md. Ingen driftsättning i statusuppdateringen; framtida release kräver ny konsekvensbedömning.


Relaterade ärenden 3 (0 öppna — 3 stängda)

Relaterar till Maintenance #110: Sätta upp databasanslutning mot remembranceClosedCodex API2026-09-06

Handlingar
Relaterar till Maintenance #111: Skapa migrationsstrukturClosedCodex API2026-09-06

Handlingar
Relaterar till Features #141: Stöd för global produktbas och EANClosedCodex API2026-09-06

Handlingar

CA Uppdaterad av Codex API för 25 dagar sedan Handlingar #1

  • Status ändrad från New till In progress
  • Tilldelad satt till Codex API
  • % Klart ändrad från 0 till 40
  • Acceptanskriterier uppdaterad (skillnader)
  • Driftsättningspåverkan satt till Ingen

Arbetet med första databasschema och relationer har startat. Första leveransen blir ett dokumenterat logiskt schema som underlag för fysisk databas, databaskonto och migrationer.

CA Uppdaterad av Codex API för 25 dagar sedan Handlingar #2

  • Relaterar till Maintenance #110: Sätta upp databasanslutning mot remembrance tillagd

CA Uppdaterad av Codex API för 25 dagar sedan Handlingar #3

CA Uppdaterad av Codex API för 25 dagar sedan Handlingar #4

  • Status ändrad från In progress till Resolved
  • % Klart ändrad från 40 till 70
  • Testresultat uppdaterad (skillnader)

Första databasschema och relationer är dokumenterade i docs/architecture/database-design.md.

Commit: 93d0a20 Design initial database schema refs #140

Designen omfattar tenant/förening, användare/identiteter/profil, systemadmin-grund, themes med Svensk pastell, artikelkategorier, artiklar, artikelkrav, kiosk-/artikellänkar samt varukorg/köpunderlag utan betalning. #140 är även kopplat till #110 och #111.

CA Uppdaterad av Codex API för 25 dagar sedan Handlingar #5

Tillägg: PlantUML-diagram för den föreslagna databasstrukturen har lagts till.

Fil: docs/architecture/database-erd.puml
Länkad från: docs/architecture/database-design.md
Commit: 9bdccda Add database ER diagram refs #140

Lokal PlantUML-rendering kunde inte köras eftersom plantuml-kommandot inte finns installerat i miljön. Källfilen har kontrollerats för @startuml/@enduml samt rimligt antal entiteter och relationer.

CA Uppdaterad av Codex API för 25 dagar sedan Handlingar #6

PlantUML-diagrammet korrigerades efter syntaxfel vid rendering. Långa entitetsalias med understreck har ersatts med korta ASCII-alias, medan tabellnamnen fortfarande visas som labels i diagrammet.

Commit: b626311 Fix database ER diagram syntax refs #140

CA Uppdaterad av Codex API för 25 dagar sedan Handlingar #7

Lokal PlantUML-rendering har lagts till.

Jar-filen ligger lokalt och ignoreras av Git:
.tools/plantuml/plantuml.jar

Render-script:
scripts/render-plantuml.ps1

Genererad output går till docs/generated/plantuml/ och ignoreras av Git.

Verifierat genom att rendera docs/architecture/database-erd.puml till PNG lokalt.
Commit: 9da4df8 Add local PlantUML rendering helper refs #140

CA Uppdaterad av Codex API för 25 dagar sedan Handlingar #8

  • Relaterar till Features #141: Stöd för global produktbas och EAN tillagd

CA Uppdaterad av Codex API för 25 dagar sedan Handlingar #9

Databasdesignen har utökats med global produktbas och EAN.

Tillägg:

  • products för återanvändbar global produktinformation.
  • product_identifiers för EAN/streckkod.
  • articles.product_id som valfri koppling från föreningens artikel till global produkt.

PlantUML-diagrammet har uppdaterats och renderats lokalt utan fel.
Commit: 6eddbc0 Add product EAN model refs #140 refs #141

CA Uppdaterad av Codex API för 25 dagar sedan Handlingar #10

PlantUML-diagrammet har justerats för bättre kompatibilitet med PlantUML-webbrenderaren: entitetsblocken använder nu class-syntax i stället för entity-syntax. Commit: 945d8f9 Use class syntax for database ER diagram refs #140

CA Uppdaterad av Codex API för 25 dagar sedan Handlingar #11

Designgranskning: Grundmodellen med globala produkter och foreningsspecifika artiklar ar anvandbar. Fore migrationer behover vi precisera: 1) constraints som hindrar kategori/artikel/koprad fran att kopplas mellan foreningar, 2) gastsession/agarskap for varukorg och vald autentiseringsmetod for telefonkonto, 3) atomar submit, lasning av snapshots, serverberaknade summor och skydd mot dubbel submit, 4) entydigt arv av produktnamn/beskrivning/bild med lokala overrides, 5) unikhet for globala themes och standardtheme i vald SQL-dialekt. ER-diagrammets kardinalitet behover korrigeras for nullable produkt, kategori, theme-agare, kopare och artikelreferens. Modellen har dessutom en kategori per artikel och en uppsattning personuppgifter per varukorg; flera deltagare per kop stods inte i nuvarande form. Granskning av dokument och diagram, ingen implementation eller schemandring utford.

CA Uppdaterad av Codex API för 25 dagar sedan Handlingar #12

  • Status ändrad från Resolved till In progress
  • % Klart ändrad från 70 till 40

CA Uppdaterad av Codex API för 25 dagar sedan Handlingar #13

  • Status ändrad från In progress till Resolved
  • % Klart ändrad från 40 till 70
  • Testresultat uppdaterad (skillnader)

Kompletterat databasdesign och PlantUML efter granskningen. Gemensamma produkter/EAN behalls; pris, kategori, personkrav, bildval och ovrig artikelkonfiguration ar foreningsbundna. Tillagt sammansatta tenant-FK, tydligt produktarv, gastsession/agarskap, lokal losenordsgrund och verifieringsmodell, atomar submit med revision/idempotens och lasta snapshots, regler for themes och gallring. Diagrammets valfria relationer rattade. Telefon + losenord ar arbetsantagande; verifieringsleverantor, databasmotor, nyckeltyp och lagringstider aterstar fore respektive implementation. En kategori/artikel och en personuppsattning/varukorg behalls som dokumenterade avgransningar med utokningsvag. Commit 8f6c19c pushad till origin/main. Ny PNG genererad i docs/generated/plantuml/2026-09-07/foreningskiosk_database_erd.png eftersom tidigare bild var fillast. Dokumentlanken pekar pa den nya bilden. Ingen fysisk databas skapad.

CA Uppdaterad av Codex API för 25 dagar sedan Handlingar #14

  • Status ändrad från Resolved till In progress
  • % Klart ändrad från 70 till 40

CA Uppdaterad av Codex API för 25 dagar sedan Handlingar #15

  • Status ändrad från In progress till Resolved
  • % Klart ändrad från 40 till 70
  • Testresultat uppdaterad (skillnader)

MariaDB pa Remembrance ar beslutad. Serverbinar verifierad till 12.3.2; SQL-baslinje med 20 tabeller, BIGINT UNSIGNED AUTO_INCREMENT, InnoDB, UTC/DATETIME(6), sammansatta tenant-FK, CHECK, beraknade unika index och integritetstriggers ar verifierad i separat engangscontainer med samma image. Dokument och PlantUML uppdaterade; ny PNG genererad och granskad. Commit 41f9337 pushad. Permanent databas/konton har inte skapats. Backendens migrationsverktyg och applikationstester aterstar i #111/#108.

CA Uppdaterad av Codex API för 23 dagar sedan Handlingar #16

Avstämning 2026-09-08: Slutfört inom ärendets scope. Databasdesign med ER-diagram, constraints och index; redan Resolved. Underlag: docs/issue-audit-2026-09-08.md. Ingen ny regression eller produktionsdriftsättning i denna avstämning. Statusfält oförändrat.

CA Uppdaterad av Codex API för 23 dagar sedan Handlingar #17

CA Uppdaterad av Codex API för 23 dagar sedan Handlingar #18

  • Status ändrad från Resolved till Verification
  • % Klart ändrad från 70 till 80

CA Uppdaterad av Codex API för 23 dagar sedan Handlingar #19

  • Status ändrad från Verification till Ready for deploy
  • % Klart ändrad från 80 till 90

CA Uppdaterad av Codex API för 23 dagar sedan Handlingar #20

  • Status ändrad från Ready for deploy till Done
  • % Klart ändrad från 90 till 100

CA Uppdaterad av Codex API för 23 dagar sedan Handlingar #21

  • Status ändrad från Done till Closed
Handlingar

Finns även som: PDF Atom