Fix deploy pipeline and add missing event registrations migration.
Deploy Ladill Events / deploy (push) Failing after 20s

Correct CI workflow for events.ladill.com, default deploy paths, nginx
provisioning step, and qr_event_registrations table migration.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-06-07 09:56:23 +00:00
co-authored by Cursor
parent d8dbc83e2d
commit 7091bccdb4
4 changed files with 214 additions and 8 deletions
@@ -0,0 +1,39 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up(): void
{
Schema::create('qr_event_registrations', function (Blueprint $table) {
$table->id();
$table->foreignId('qr_code_id')->constrained('qr_codes')->cascadeOnDelete();
$table->foreignId('user_id')->constrained('users')->cascadeOnDelete(); // organizer
$table->string('reference', 40)->unique();
$table->string('badge_code', 16)->unique();
$table->string('tier_name', 80);
$table->unsignedInteger('amount_minor')->default(0);
$table->string('currency', 3)->default('GHS');
$table->string('attendee_name', 120);
$table->string('attendee_email', 200)->nullable();
$table->string('attendee_phone', 30)->nullable();
$table->json('badge_fields')->nullable();
$table->string('status', 20)->default('pending'); // pending | confirmed | failed | cancelled
$table->string('payment_reference', 60)->nullable();
$table->timestamp('paid_at')->nullable();
$table->timestamp('checked_in_at')->nullable();
$table->json('metadata')->nullable();
$table->timestamps();
$table->index(['qr_code_id', 'status']);
});
}
public function down(): void
{
Schema::dropIfExists('qr_event_registrations');
}
};