Initial commit: SQL Server 2025 local dev stack
This commit is contained in:
67
README.md
Normal file
67
README.md
Normal file
@@ -0,0 +1,67 @@
|
||||
# SQL Server 2025 on Arch Linux (Docker) — localdev-ready
|
||||
|
||||
This repo provides a reproducible local SQL Server 2025 setup using Docker Compose,
|
||||
plus convenience scripts for start/stop and database provisioning ("betanken").
|
||||
|
||||
## Layout / Mini Convention
|
||||
|
||||
- `compose.yml`
|
||||
Docker Compose definition (SQL Server 2025 container).
|
||||
- `.env.example` → copy to `.env` (not committed)
|
||||
Holds your `MSSQL_SA_PASSWORD` and optional settings (port, edition).
|
||||
- `scripts/`
|
||||
Convenience scripts:
|
||||
- `start.sh` — start container and wait until healthy
|
||||
- `stop.sh` — stop container
|
||||
- `down.sh` — remove container (keeps data on disk)
|
||||
- `seed.sh` — run **all** `db/seed/*.sql` in order
|
||||
- `migrate.sh` — run **all** `db/migrations/*.sql` in order
|
||||
- `reset.sh` — delete `./data` (DESTROYS DB files), then start + seed + migrate
|
||||
- `db/seed/` (idempotent)
|
||||
Scripts that can be re-run safely. Typical content:
|
||||
- create database(s) if missing
|
||||
- create logins/users if missing
|
||||
- minimal reference data
|
||||
Naming: `001_*.sql`, `010_*.sql`, ...
|
||||
- `db/migrations/` (forward-only)
|
||||
Schema/data changes over time. Each file should be **run exactly once** per environment.
|
||||
Naming: `2026-01-30_001_create_tables.sql`, `2026-02-05_002_add_index.sql`, ...
|
||||
- `data/` (gitignored)
|
||||
SQL Server data files mounted from the host.
|
||||
- `backup/` (gitignored)
|
||||
Place `.bak` files here if you want to restore from backups.
|
||||
|
||||
### Recommended workflow
|
||||
|
||||
1. Copy env:
|
||||
```bash
|
||||
cp .env.example .env
|
||||
# edit .env (set strong password!)
|
||||
```
|
||||
|
||||
2. Start server:
|
||||
```bash
|
||||
./scripts/start.sh
|
||||
```
|
||||
|
||||
3. Provision baseline:
|
||||
```bash
|
||||
./scripts/seed.sh
|
||||
./scripts/migrate.sh
|
||||
```
|
||||
|
||||
4. Work with T-SQL (VS Code):
|
||||
- Install extension: **SQL Server (mssql)** (Microsoft)
|
||||
- Connect:
|
||||
- Server: `localhost`
|
||||
- Port: value from `MSSQL_PORT` (default 1433)
|
||||
- Auth: SQL Login
|
||||
- User: `sa`
|
||||
- Password: `MSSQL_SA_PASSWORD`
|
||||
- Open any `.sql` file and run **Execute Query**.
|
||||
|
||||
## Gitea-ready notes
|
||||
|
||||
- `.env` is ignored (secrets).
|
||||
- `data/` and `backup/` are ignored (local artifacts).
|
||||
- Use the issue/PR templates under `.gitea/` for consistent collaboration.
|
||||
Reference in New Issue
Block a user