Delete comment

This commit is contained in:
kirill.khorkov
2025-12-16 19:18:03 +03:00
parent 474fe41d41
commit 8a93cf8657
59 changed files with 9767 additions and 10403 deletions

View File

@@ -1,10 +1,5 @@
<?php
/**
* Простой раннер миграций для PostgreSQL
* Запуск: php migrations/migrate.php
*/
// Подключаем конфиг базы данных
require_once __DIR__ . '/../config/database.php';
echo "===========================================\n";
@@ -15,7 +10,6 @@ try {
$db = Database::getInstance()->getConnection();
echo "[OK] Подключение к базе данных успешно\n\n";
// 1. Создаем таблицу для отслеживания миграций
$db->exec("
CREATE TABLE IF NOT EXISTS migrations (
id SERIAL PRIMARY KEY,
@@ -25,12 +19,10 @@ try {
");
echo "[OK] Таблица migrations готова\n";
// 2. Получаем список уже примененных миграций
$stmt = $db->query("SELECT filename FROM migrations ORDER BY filename");
$applied = $stmt->fetchAll(PDO::FETCH_COLUMN);
echo "[INFO] Уже применено миграций: " . count($applied) . "\n\n";
// 3. Сканируем папку на SQL-файлы
$migrationFiles = glob(__DIR__ . '/*.sql');
sort($migrationFiles);
@@ -38,30 +30,26 @@ try {
foreach ($migrationFiles as $file) {
$filename = basename($file);
// Пропускаем seed_data.sql - он запускается отдельно
if ($filename === 'seed_data.sql') {
continue;
}
// Проверяем, была ли миграция уже применена
if (in_array($filename, $applied)) {
echo "[SKIP] $filename (уже применена)\n";
continue;
}
// Применяем миграцию
echo "[RUN] Применяю $filename... ";
$sql = file_get_contents($file);
try {
$db->exec($sql);
// Записываем в таблицу миграций
$stmt = $db->prepare("INSERT INTO migrations (filename) VALUES (?)");
$stmt->execute([$filename]);
echo "OK\n";
$newMigrations++;
} catch (PDOException $e) {
@@ -73,19 +61,18 @@ try {
}
echo "\n-------------------------------------------\n";
if ($newMigrations > 0) {
echo "[SUCCESS] Применено новых миграций: $newMigrations\n";
} else {
echo "[INFO] Все миграции уже применены\n";
}
// 4. Спрашиваем про seed_data
$seedFile = __DIR__ . '/seed_data.sql';
if (file_exists($seedFile)) {
echo "\n[?] Хотите загрузить начальные данные (seed_data.sql)?\n";
echo " Запустите: php migrations/migrate.php --seed\n";
if (isset($argv[1]) && $argv[1] === '--seed') {
echo "\n[RUN] Загружаю seed_data.sql... ";
try {
@@ -106,4 +93,3 @@ try {
echo "[ERROR] Ошибка подключения к БД: " . $e->getMessage() . "\n";
exit(1);
}