Restore local changes after Git corruption

This commit is contained in:
root
2026-01-10 07:00:36 +00:00
parent 395bfa5e75
commit 915b4fe95d
20 changed files with 1453 additions and 75 deletions

View File

@@ -11,16 +11,19 @@ return new class extends Migration
*/
public function up(): void
{
Schema::create('components', function (Blueprint $table) {
$table->id();
$table->string('name'); // Например: "Intel Core i5-12400F"
$table->foreignId('component_type_id')->constrained()->onDelete('cascade');
$table->decimal('price', 10, 2);
$table->json('specifications')->nullable(); // Для хранения характеристик
$table->boolean('is_official')->default(true); // true = админ, false = пользователь
$table->foreignId('created_by_user_id')->nullable()->constrained('users')->onDelete('set null');
$table->timestamps();
});
Schema::create('components', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->decimal('price', 10, 2);
$table->unsignedBigInteger('component_type_id'); // ссылка на тип компонента
$table->json('specifications')->nullable(); // JSON-поле для характеристик
$table->boolean('is_official')->default(false); // официальный или нет
$table->unsignedBigInteger('created_by_user_id')->nullable(); // кто создал
$table->timestamps();
$table->foreign('component_type_id')->references('id')->on('component_types');
$table->foreign('created_by_user_id')->references('id')->on('users')->onDelete('set null');
});
}

View File

@@ -12,7 +12,7 @@ return new class extends Migration
public function up(): void
{
Schema::table('users', function (Blueprint $table) {
$table->text('custom_field');
$table->text('custom_field')->nullable()->default(null);
//
});
}

View File

@@ -0,0 +1,30 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreatePcBuildComponentsTable extends Migration
{
public function up()
{
Schema::create('pc_build_components', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('pc_build_id');
$table->unsignedBigInteger('component_id');
$table->timestamps();
// Внешние ключи
$table->foreign('pc_build_id')->references('id')->on('pc_builds')->onDelete('cascade');
$table->foreign('component_id')->references('id')->on('components')->onDelete('cascade');
// Уникальность пары (build + component), если нужно
$table->unique(['pc_build_id', 'component_id']);
});
}
public function down()
{
Schema::dropIfExists('pc_build_components');
}
}

View File

@@ -0,0 +1,27 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up()
{
Schema::create('ai_tasks', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->text('description');
$table->text('ai_prompt_template');
$table->decimal('budget_min', 10, 2)->nullable();
$table->decimal('budget_max', 10, 2)->nullable();
$table->boolean('is_active')->default(true);
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('ai_tasks');
}
};