HEX
Server: nginx/1.18.0
System: Linux test-ipsremont 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
User: ips (1000)
PHP: 8.0.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/laravel/database/migrations/2024_08_21_125558_prompt_versions_improvement.php
<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
    /**
     * Run the migrations.
     */
    public function up(): void
    {
        Schema::table('prompts', function (Blueprint $table) {
            $table->text('json');
            $table->integer('is_active')->default(0);
        });

        $summaryJson = file_get_contents(base_path().'/../src/common/json-data/summary.json');
        $summaryJson = str_replace("\n","", $summaryJson);
        $summaryJson = $this->cleanSpaces($summaryJson);

        DB::statement("UPDATE prompts SET prompt = 'Дайте JSON, который уже содержит некоторые заполненые поля и получите структурированный JSON
Не используй markdown.

Пример максимально заполненного JSON с описанием полей в значении:', json = '$summaryJson', is_active = 1 WHERE id = 1");

        Schema::table('notams', function (Blueprint $table) {
            $table->integer('batch_id')->nullable();
        });
    }

    public function cleanSpaces($string)
    {
        return str_replace(['{ ', ' }', ' {', ', ', ' ]', '[ '], ['{', '}', '{', ',', ']', '['], $string);
    }

    /**
     * Reverse the migrations.
     */
    public function down(): void
    {
        //
    }
};