43 lines
1.7 KiB
Markdown
43 lines
1.7 KiB
Markdown
# think.greaterchiangmai.com
|
|
|
|
Two Laravel 10 apps sharing one MySQL database (`greaterc_db2024`):
|
|
|
|
- `think.greaterchiangmai.com/` — public site
|
|
- `think-backend.greaterchiangmai.com/` — CMS (`/login`)
|
|
- `upload-large-file/` — standalone S3 multipart upload helper (Node)
|
|
|
|
## Local development
|
|
|
|
Requires [Nix](https://nixos.org) with flakes.
|
|
|
|
```sh
|
|
nix run # installs vendors on first run, starts MariaDB, serves both apps; Ctrl-C stops all
|
|
```
|
|
|
|
- site: http://127.0.0.1:8000
|
|
- CMS: http://127.0.0.1:8001
|
|
|
|
### Database
|
|
|
|
`dev/schema.sql` is the schema (10 tables, no `category` table — `category_id` 1/2 is hardcoded).
|
|
It is derived from the production dump and applied automatically on every `db start`
|
|
(idempotent), so a fresh checkout serves empty pages with no 500s. There are no Laravel
|
|
migrations for these tables; edit `dev/schema.sql` when prod changes.
|
|
|
|
To work with real content, load a production dump (drops and recreates the local DB):
|
|
|
|
```sh
|
|
nix run . -- db import .dev/greaterc_db2024.sql # phpMyAdmin export, kept out of git
|
|
nix run . -- db reset # back to empty schema
|
|
```
|
|
|
|
`nix run . -- <cmd>` forwards to the `dev` script; `nix develop` drops you into a shell with
|
|
`dev`, `php`, `composer`, `mariadb`, `node` on PATH (direnv: `.envrc` → `use flake`).
|
|
|
|
Other commands: `dev db start|stop|status|shell|reset|import`, `dev serve frontend|backend`,
|
|
`dev artisan <app> ...`, `dev down`. See `dev help`.
|
|
|
|
The local DB listens on `127.0.0.1:3307` (override with `DEV_DB_PORT`); the `dev` script
|
|
injects `DB_*`, `APP_DEBUG=true`, `TEST_LOCAL=true` via the process environment so each
|
|
app's `.env` is left untouched. Ports: `DEV_FRONTEND_PORT`, `DEV_BACKEND_PORT`.
|