🎨 **Style:** Fixed indentation inconsistencies in meetup_user migration file.

🛠️ **Factory:** Created factories for `TwitterAccount`, `EmailCampaign`, `EmailTexts`, and `BookCase`.
 **Helper:** Added `NostrHelper` with methods for generating fake/mocked Nostr data.
⬆️ **Dependencies:** Updated multiple Composer dependencies including `laravel/framework`, `astrotomic/laravel-translatable`, and others to their latest versions.
This commit is contained in:
BT
2026-05-02 19:17:02 +01:00
parent c81b168a11
commit 1f0bfba0d3
57 changed files with 3980 additions and 2142 deletions
@@ -2,29 +2,28 @@
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('lecturers', function (Blueprint $table) {
$table->longText('description')
->fulltext()
->nullable();
$supportsFulltext = in_array(DB::getDriverName(), ['mysql', 'pgsql'], true);
Schema::table('lecturers', function (Blueprint $table) use ($supportsFulltext) {
$column = $table->longText('description')->nullable();
if ($supportsFulltext) {
$column->fulltext();
}
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('lecturers', function (Blueprint $table) {
//
$table->dropColumn('description');
});
}
};
@@ -2,29 +2,28 @@
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('courses', function (Blueprint $table) {
$table->longText('description')
->fulltext()
->nullable();
$supportsFulltext = in_array(DB::getDriverName(), ['mysql', 'pgsql'], true);
Schema::table('courses', function (Blueprint $table) use ($supportsFulltext) {
$column = $table->longText('description')->nullable();
if ($supportsFulltext) {
$column->fulltext();
}
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('courses', function (Blueprint $table) {
//
$table->dropColumn('description');
});
}
};
@@ -13,81 +13,81 @@ return new class extends Migration
{
Schema::table('cities', function (Blueprint $table) {
$table->foreignId('created_by')
->constrained('users')
->cascadeOnDelete()
->cascadeOnUpdate();
->constrained('users')
->cascadeOnDelete()
->cascadeOnUpdate();
});
Schema::table('venues', function (Blueprint $table) {
$table->foreignId('created_by')
->constrained('users')
->cascadeOnDelete()
->cascadeOnUpdate();
->constrained('users')
->cascadeOnDelete()
->cascadeOnUpdate();
});
Schema::table('lecturers', function (Blueprint $table) {
$table->foreignId('created_by')
->constrained('users')
->cascadeOnDelete()
->cascadeOnUpdate();
->constrained('users')
->cascadeOnDelete()
->cascadeOnUpdate();
});
Schema::table('meetups', function (Blueprint $table) {
$table->foreignId('created_by')
->constrained('users')
->cascadeOnDelete()
->cascadeOnUpdate();
->constrained('users')
->cascadeOnDelete()
->cascadeOnUpdate();
});
Schema::table('meetup_events', function (Blueprint $table) {
$table->foreignId('created_by')
->constrained('users')
->cascadeOnDelete()
->cascadeOnUpdate();
->constrained('users')
->cascadeOnDelete()
->cascadeOnUpdate();
});
Schema::table('bitcoin_events', function (Blueprint $table) {
$table->foreignId('created_by')
->constrained('users')
->cascadeOnDelete()
->cascadeOnUpdate();
->constrained('users')
->cascadeOnDelete()
->cascadeOnUpdate();
});
Schema::table('courses', function (Blueprint $table) {
$table->foreignId('created_by')
->constrained('users')
->cascadeOnDelete()
->cascadeOnUpdate();
->constrained('users')
->cascadeOnDelete()
->cascadeOnUpdate();
});
Schema::table('course_events', function (Blueprint $table) {
$table->foreignId('created_by')
->constrained('users')
->cascadeOnDelete()
->cascadeOnUpdate();
->constrained('users')
->cascadeOnDelete()
->cascadeOnUpdate();
});
Schema::table('libraries', function (Blueprint $table) {
$table->foreignId('created_by')
->constrained('users')
->cascadeOnDelete()
->cascadeOnUpdate();
->constrained('users')
->cascadeOnDelete()
->cascadeOnUpdate();
});
Schema::table('library_items', function (Blueprint $table) {
$table->foreignId('created_by')
->constrained('users')
->cascadeOnDelete()
->cascadeOnUpdate();
->constrained('users')
->cascadeOnDelete()
->cascadeOnUpdate();
});
Schema::table('podcasts', function (Blueprint $table) {
$table->foreignId('created_by')
->constrained('users')
->cascadeOnDelete()
->cascadeOnUpdate();
->constrained('users')
->cascadeOnDelete()
->cascadeOnUpdate();
});
Schema::table('episodes', function (Blueprint $table) {
$table->foreignId('created_by')
->constrained('users')
->cascadeOnDelete()
->cascadeOnUpdate();
->constrained('users')
->cascadeOnDelete()
->cascadeOnUpdate();
});
Schema::table('book_cases', function (Blueprint $table) {
$table->foreignId('created_by')
->constrained('users')
->cascadeOnDelete()
->cascadeOnUpdate();
->constrained('users')
->cascadeOnDelete()
->cascadeOnUpdate();
});
}
@@ -96,6 +96,16 @@ return new class extends Migration
*/
public function down(): void
{
//
$tables = [
'cities', 'venues', 'lecturers', 'meetups', 'meetup_events',
'bitcoin_events', 'courses', 'course_events', 'libraries',
'library_items', 'podcasts', 'episodes', 'book_cases',
];
foreach ($tables as $tableName) {
Schema::table($tableName, function (Blueprint $table) {
$table->dropConstrainedForeignId('created_by');
});
}
}
};
@@ -15,15 +15,15 @@ return new class extends Migration
Schema::create('meetup_user', function (Blueprint $table) {
$table->foreignId('meetup_id')
->constrained()
->cascadeOnDelete()
->cascadeOnUpdate();
->constrained()
->cascadeOnDelete()
->cascadeOnUpdate();
$table->foreignId('user_id')
->constrained()
->cascadeOnDelete()
->cascadeOnUpdate();
->constrained()
->cascadeOnDelete()
->cascadeOnUpdate();
$table->boolean('is_leader')
->default(false);
->default(false);
});
Schema::enableForeignKeyConstraints();
@@ -2,31 +2,31 @@
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('library_items', function (Blueprint $table) {
if (DB::getDriverName() === 'pgsql') {
DB::statement('ALTER TABLE library_items
ALTER COLUMN tweet DROP DEFAULT,
ALTER COLUMN tweet TYPE BOOLEAN USING tweet::BOOLEAN,
ALTER COLUMN tweet SET DEFAULT FALSE;'
);
ALTER COLUMN tweet DROP DEFAULT,
ALTER COLUMN tweet TYPE BOOLEAN USING tweet::BOOLEAN,
ALTER COLUMN tweet SET DEFAULT FALSE;');
return;
}
Schema::table('library_items', function (Blueprint $table) {
$table->boolean('tweet')->default(false)->change();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('library_items', function (Blueprint $table) {
//
$table->text('tweet')->nullable()->change();
});
}
};
@@ -4,7 +4,8 @@ use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration {
return new class extends Migration
{
/**
* Run the migrations.
*/
@@ -15,27 +16,27 @@ return new class extends Migration {
});
Schema::table('bitcoin_events', function (Blueprint $table) {
$table->text('nostr_status')
->nullable();
->nullable();
});
Schema::table('course_events', function (Blueprint $table) {
$table->text('nostr_status')
->nullable();
->nullable();
});
Schema::table('courses', function (Blueprint $table) {
$table->text('nostr_status')
->nullable();
->nullable();
});
Schema::table('meetup_events', function (Blueprint $table) {
$table->text('nostr_status')
->nullable();
->nullable();
});
Schema::table('meetups', function (Blueprint $table) {
$table->text('nostr_status')
->nullable();
->nullable();
});
Schema::table('orange_pills', function (Blueprint $table) {
$table->text('nostr_status')
->nullable();
->nullable();
});
}
@@ -44,8 +45,13 @@ return new class extends Migration {
*/
public function down(): void
{
Schema::table('tables', function (Blueprint $table) {
//
Schema::table('library_items', function (Blueprint $table) {
$table->renameColumn('nostr_status', 'nostr');
});
foreach (['bitcoin_events', 'course_events', 'courses', 'meetup_events', 'meetups', 'orange_pills'] as $tableName) {
Schema::table($tableName, function (Blueprint $table) {
$table->dropColumn('nostr_status');
});
}
}
};