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
- Maskinen:
WIN-KD6TE5J6HOK - Databasen: Opprett den nye, dedikerte databasen
BO-BOOKING-CHARTfor produksjon. (Vi har under test/utvikling benyttet test-basenBO-BOOKING-WORKlokalt, 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,AspNetUserRolesetc. 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.sqlom det finnes.
3. Seed / Opprette Roller (I ASP.NET Core)
- Identity rollene er:
- Bruker
- ProShop
- Owner
- SuperAdmin
- SQL Server DB Administratoren trenger bare å bekrefte at filen
08_Auth_Identity.sqlkjø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!