38 lines
1.2 KiB
PHP
38 lines
1.2 KiB
PHP
<?php
|
|
|
|
/**
|
|
* 为 ai_models 增加 extra_config 字段(可重复执行)
|
|
* 用法: php database/migrate_extra_config.php
|
|
*/
|
|
|
|
require __DIR__ . '/../vendor/autoload.php';
|
|
|
|
$envFile = dirname(__DIR__) . '/.env';
|
|
$env = [];
|
|
if (is_file($envFile)) {
|
|
foreach (file($envFile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES) as $line) {
|
|
$line = trim($line);
|
|
if ($line === '' || str_starts_with($line, '#') || !str_contains($line, '=')) {
|
|
continue;
|
|
}
|
|
[$k, $v] = array_map('trim', explode('=', $line, 2));
|
|
$env[$k] = trim($v, " \t\"'");
|
|
}
|
|
}
|
|
|
|
$host = $env['DB_HOST'] ?? '127.0.0.1';
|
|
$name = $env['DB_NAME'] ?? 'ai_chat';
|
|
$user = $env['DB_USER'] ?? 'root';
|
|
$pass = $env['DB_PASS'] ?? '';
|
|
$port = $env['DB_PORT'] ?? '3306';
|
|
|
|
$pdo = new PDO("mysql:host={$host};port={$port};dbname={$name};charset=utf8mb4", $user, $pass);
|
|
$cols = $pdo->query("SHOW COLUMNS FROM ai_models LIKE 'extra_config'")->fetchAll();
|
|
if ($cols) {
|
|
echo "extra_config already exists\n";
|
|
exit(0);
|
|
}
|
|
|
|
$pdo->exec("ALTER TABLE ai_models ADD COLUMN extra_config JSON NULL COMMENT 'ComfyUI工作流等扩展配置' AFTER presence_penalty");
|
|
echo "extra_config column added\n";
|