File: /var/www/limestate-admin/database/migrations/2024_06_26_155000_add_address_to_buildings.php
<?php
use App\Collections\BuildingCollection;
use App\Models\Building;
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::table('buildings', function (Blueprint $table) {
$table->string('address', 512);
});
/** @var BuildingCollection $secondaryBuildings */
$buildings = Building::query()->where('published', true)->get();
foreach ($buildings as $building) {
$building->update(['address' => $building->generateAddress()]);
}
}
public function down(): void
{
Schema::table('buildings', function (Blueprint $table) {
$table->dropColumn(['address']);
});
}
};