Files
think-greaterchiangmai/README.md
T

1.7 KiB

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 with flakes.

nix run                # installs vendors on first run, starts MariaDB, serves both apps; Ctrl-C stops all

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):

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.