Skip to content

Plan for SQL Deployment (Database Administrator / Developer)

Dette er overleveringsplanen for å publisere tabeller, roller, og initielle brukere for "Golfklubb iT Cart Rental" modulene til eksisterende MS SQL Server / Database.

Steg-for-steg sjekkliste for MS SQL

1. Opprett og Bekreft Target Miljøet

  1. Maskinen: WIN-KD6TE5J6HOK
  2. Databasen: Opprett den nye, dedikerte databasen BO-BOOKING-CHART for produksjon. (Vi har under test/utvikling benyttet test-basen BO-BOOKING-WORK lokalt, men denne arkitekturen skal rulles ut i en egen separat database-instans.)

Oppgaven krever db_ddladmin rettigheter på basen og eventuelle rettigheter for INSERT/UPDATE i starttabeller.

2. Klargjøre Idempotente SQL-Scripts i Riktig Rekkefølge

Utfør skriptene fra prosjektmappen SqlScripts/ sekvensielt. De skal håndtere at tabeller / kolonner eventuelt allerede er opprettet under tester.

  • 01_Chart_Carts.sql (Oversikt over bilparken)
  • 02_Chart_Carts_Status_Log.sql (Status log for biler i service, utleid osv.)
  • 03_Chart_Prices.sql (Priskonfigurator for medlemsrabatter pr klubb)
  • 04_Chart_Setup.sql (Tidsskalaer, Maks ant. dager frem i tid)
  • 05_Chart_Bookings.sql (Databasen for godkjente utleier)
  • 06_Chart_Bookings_Temp.sql (Midlertidig cache for "locked" reservations i 2-trinns kassen)
  • 07_Alter_Clients_Units_Status.sql (Oppdatering og mapping av Master-Units-tabell)
  • 08_Auth_Identity.sql (ASP.NET Core 9 Identity tabeller: AspNetUsers, AspNetUserRoles etc. dersom de mangler i dette subsystemet).
  • 09_Chart_Members.sql (Lagringsplass for lokalgodkjente "Members" i ProShop-verktøyet)
  • 10_Chart_Inventory.sql (Loggføringssytem for tilpasning / vedlikehold).
  • Bonus: Hvis de skal eksekveres via devops, bruk SqlScripts/00_RunAll.sql om det finnes.

3. Seed / Opprette Roller (I ASP.NET Core)

  1. Identity rollene er:
  2. Bruker
  3. ProShop
  4. Owner
  5. SuperAdmin
  6. SQL Server DB Administratoren trenger bare å bekrefte at filen 08_Auth_Identity.sql kjøres feilfritt. Deretter starter selve dataseedingen fra .NET Core under Applikasjonsstart (Program.cs) dersom brukerne / rollene mangler.

4. Seed Innledende ProShop Bruker

Det er lagt inn et seed-steg i oppstarten av .NET programmet (eller via scriptet 11_Seed_ProShop_User.sql for manuell injeksjon). For å ha testingen klar bør du verifisere at denne brukeren opprettes i produksjonen med rettigheter ut av boksen:

  • E-post / Brukernavn: kiosken@skigk.no
  • Passord: Smerta2026!
  • Rolle: ProShop

Dette gjøres tryggest og best via EntityFramework Core sin Password Hasher ved førstegangsoppstart, men C# koden ligger alt klar i Program.cs.

5. Multi-Tenant Modellen (Eksisterende Tabeller)

Alle nye tabeller (som Chart_Bookings og Chart_Carts) har en obligatorisk referanse kolonne: * ClientID (Integer)

Sørg derfor for at dbo.Clients (hvor Master-Klubbene eksisterer, f.eks., ID 1128) forblir intakt som foreldre i tenant-hierarkiet. Nye klubber som startes opp mappes rett inn der, som igjen definerer Scope / Isolation Pattern i C# kodens Dapper-kall.

6. Backup Strategi

Sørg for at den nye tabell-strukturen for Chart_Bookings* og Event-logger inngår i rutinen for daglig sikkerhetskall siden de raskt kan aggregere tusenvis av rader over sesongen. Siden SQL bruker SCOPE_IDENTITY(), må identity-counters på Temp til Active Booking reflekteres helt ved restore.

Systemet er nå klart fra database-siden!