pipicar/modules/brand_models/script.php

43 lines
1.5 KiB
PHP

<?php
use A7kz\Platform\Models\UniModel;
use A7kz\Platform\Modules\Platform\Core\Facades\Core;
use A7kz\Platform\Modules\Platform\Segment\Facades\Segment;
use Carbon\Carbon;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\Facades\Storage;
use \A7kz\Platform\Commands\InstallScript;
return new class extends \A7kz\Platform\Commands\InstallScript {
public function install($module_name, $module_version)
{
}
public function update($module_name, $module_version): void
{
$this->upgrade();
}
private function upgrade(): void
{
$segments = Segment::listActive();
foreach ($segments as $segment) {
if (!Schema::connection($segment->connector)->hasTable('pipi_brand_models')) {
Schema::connection($segment->connector)->create('pipi_brand_models', static function (Blueprint $table) {
$table->id();
$table->string('name')->nullable()->comment('Наименование');
$table->integer('year')->nullable()->comment('Год выпуска');
$table->timestamps();
$table->softDeletes();
$table->unsignedBigInteger('brand_id')->nullable()->comment('Марка');
$table->foreign('brand_id')->references('id')->on('pipi_auto_brands');
});
}
}
}
};