Files
kokken/scripts
Alex Polo 996a090aba feat: Implement menu management and ingredient CRUD functionality
- 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.
2025-11-07 15:00:42 +01:00
..

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 adds featured TINYINT(1) NOT NULL DEFAULT 0 if 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.