- Added menu generator page with existing menu loading and selection. - Enhanced menus management page with editing capabilities and improved table layout. - Updated booking page to allow for menu and package data fetching. - Integrated Tailwind CSS line-clamp plugin for better text handling. - Created a migration script for initializing ingredients database. - Developed ingredients management page with search, filter, and CRUD operations. - Implemented API routes for ingredients with proper error handling and logging.
Run database migrations in this repo
This repository includes a small, idempotent migration to add a featured column to the menus table.
Script
scripts/add-featured-column.mjs— checks information_schema and addsfeatured TINYINT(1) NOT NULL DEFAULT 0if missing.
How to run
From the project root, set your DB connection environment variables and run the script. Example (zsh):
export DB_HOST=localhost
export DB_USER=root
export DB_PASSWORD='your-password'
export DB_NAME=warme
# run the migration
node scripts/add-featured-column.mjs
If the script can't connect, confirm your environment variables and that the MySQL/MariaDB server is reachable from this machine.
SQL alternative
If you prefer to run SQL directly in your DB client, run:
SELECT COUNT(*) AS cnt
FROM information_schema.columns
WHERE table_schema = 'your_db_name' AND table_name = 'menus' AND column_name = 'featured';
-- If cnt = 0
ALTER TABLE menus ADD COLUMN featured TINYINT(1) NOT NULL DEFAULT 0;
UPDATE menus SET featured = 0 WHERE featured IS NULL;
Verification
After running, check with:
mysql -h "$DB_HOST" -u "$DB_USER" -p"$DB_PASSWORD" -D "$DB_NAME" -e "DESCRIBE menus;"
Notes
- The migration is idempotent — running it multiple times is safe.
- I can't run it from CI/this environment without database credentials. Run it locally on your machine or on a host that can reach the DB.