Refactor installation scripts and update documentation

- Replaced PowerShell scripts with PHP scripts for checking prerequisites and preparing the environment.
- Added new PHP scripts: `check-prerequisites.php`, `prepare-saas-env.php`, `install-saas.php`, `build-migration-bundle.php`, and `run-sql-migrations.php`.
- Updated README and installation documentation to reflect the new PHP scripts and installation steps.
- Created a generated SQL migration bundle file structure and added SQL migration scripts.
- Enhanced the public index page with navigation and installation steps.
- Removed obsolete PowerShell scripts.
This commit is contained in:
2026-03-21 19:49:52 +01:00
parent f298802c38
commit 70e6d59c63
13 changed files with 840 additions and 129 deletions
+35 -7
View File
@@ -7,7 +7,7 @@ Worker ausgelegt.
## Voraussetzungen
- PHP 8.2 oder neuer
- Composer
- Composer fuer den spaeteren Laravel-Bootstrap
- SQL Server oder eine kompatible Datenbank fuer das Zielsystem
- Webserver mit Document-Root auf `public/` des Zielprojekts
- Cron-Zugang
@@ -17,13 +17,41 @@ Worker ausgelegt.
## Installation lokal
1. Repository klonen.
2. In `saas-app/` wechseln.
3. Abhaengigkeiten mit Composer installieren.
4. `.env` aus `.env.example` ableiten.
5. Datenbankzugang, URL, Mail und Tenancy-Werte eintragen.
6. Migrations ausfuehren.
2. Mit `php scripts/check-prerequisites.php` die Voraussetzungen pruefen.
3. Mit `php scripts/prepare-saas-env.php` eine `.env` aus `.env.example` anlegen.
4. Datenbankzugang, URL, Mail und Tenancy-Werte in `saas-app/.env` eintragen.
5. Mit `php scripts/install-saas.php` das SQL-Bundle erzeugen.
6. Das SQL-Bundle manuell in SQL Server ausfuehren oder mit `php scripts/run-sql-migrations.php --server=<server> --database=<db> --username=<user> --password=<pass>` direkt einspielen.
7. Einen ersten Mandanten anlegen.
8. Einen ersten Benutzer und eine Mitgliedszuordnung anlegen.
9. Spaeter Composer und das eigentliche Laravel-Bootstrap nachziehen.
## Migrationen ausfuehren
Die aktuellen Dateien unter `saas-app/database/migrations/` sind SQL-Skizzen in
PHP-Dateien, keine Laravel-Migrationsklassen. Deshalb gibt es aktuell bewusst
kein `php artisan migrate`.
Stattdessen wird die SQL-Datei ueber Skripte erzeugt:
- Installationsvorbereitung inklusive SQL-Bundle:
`php scripts/install-saas.php`
- SQL direkt gegen SQL Server ausfuehren:
`php scripts/run-sql-migrations.php --server=localhost --database=kaffeeliste_saas --username=sa --password=<passwort>`
Die erzeugte SQL-Datei liegt anschliessend unter:
- `saas-app/database/migrations/generated/all-migrations.sql`
## Installationsskripte
Vorhandene Hilfsskripte:
- `scripts/check-prerequisites.php`
- `scripts/prepare-saas-env.php`
- `scripts/install-saas.php`
- `scripts/build-migration-bundle.php`
- `scripts/run-sql-migrations.php`
## Wichtige Umgebungswerte
@@ -42,7 +70,7 @@ eigene Umgebung angepasst werden:
1. Den Inhalt von `saas-app/` auf den Zielserver hochladen.
2. Das Document-Root auf `public/` zeigen lassen.
3. Schreibrechte fuer `storage/`, Cache und Queue-Tabellen sicherstellen.
3. Schreibrechte fuer spaetere Storage-, Cache- und Queue-Bereiche sicherstellen.
4. `.env` serverseitig hinterlegen.
5. Die Anwendung einmal per Browser aufrufen und die Grundseiten pruefen.