runUpdate($version); $message = $result['message']; $messageType = 'success'; } catch (Exception $e) { $message = $e->getMessage(); $messageType = 'danger'; } } // ყველა განახლების გაშვება if ($_POST['action'] ?? '' === 'run_all_updates') { try { $results = $updateManager->runAllUpdates(); $messages = []; foreach ($results as $result) { $messages[] = $result['message']; } $message = implode('
', $messages); $messageType = 'success'; } catch (Exception $e) { $message = $e->getMessage(); $messageType = 'danger'; } } // ახალი მიგრაციის შექმნა if ($_POST['action'] ?? '' === 'create_migration') { $version = $_POST['new_version'] ?? ''; $description = $_POST['description'] ?? ''; $upSql = $_POST['up_sql'] ?? ''; $downSql = $_POST['down_sql'] ?? ''; // ვალიდაცია if (empty($version) || empty($description) || empty($upSql)) { $message = "გთხოვთ შეავსოთ ყველა სავალდებულო ველი."; $messageType = 'danger'; } elseif (!preg_match('/^\d+\.\d+\.\d+$/', $version)) { $message = "ვერსია უნდა იყოს X.Y.Z ფორმატში (მაგ: 1.0.3)"; $messageType = 'danger'; } else { try { // შევამოწმოთ არ არსებობს თუ არა უკვე ასეთი ვერსია $existingUpdates = $updateManager->getAvailableUpdates(); foreach ($existingUpdates as $update) { if ($update['version'] === $version) { throw new Exception("ვერსია $version უკვე არსებობს"); } } // შევამოწმოთ ვერსიების ისტორიაში $history = $updateManager->getUpdateHistory(); foreach ($history as $record) { if ($record['version'] === $version) { throw new Exception("ვერსია $version უკვე გამოყენებულია"); } } $result = $updateManager->createMigration($version, $description, $upSql, $downSql); $message = $result['message']; $messageType = 'success'; } catch (Exception $e) { $message = "შეცდომა: " . $e->getMessage(); $messageType = 'danger'; } } } $currentVersion = $updateManager->getCurrentVersion(); $availableUpdates = $updateManager->getAvailableUpdates(); $updateHistory = $updateManager->getUpdateHistory(); ?> STACK - განახლებების მართვა

ხელმისაწვდომი განახლებები

1): ?>

ყველაფერი განახლებულია!

ახალი განახლებები ხელმისაწვდომი არ არის.

ვერსია
ფაილი:

განახლებების ისტორია

განახლებების ისტორია ცარიელია.

ვერსია აღწერა სტატუსი თარიღი
'success', 'failed' => 'danger', 'pending' => 'warning' ]; $statusText = [ 'completed' => 'დასრულებული', 'failed' => 'ვერ შესრულდა', 'pending' => 'მუშავდება' ]; ?>

ახალი მიგრაციის შექმნა

ფორმატი: X.Y.Z | შემოთავაზებული: |
განახლების SQL
Rollback SQL

სასარგებლო ინფორმაცია

მიგრაციის ფაილების ლოკაცია:
/admin/update/migrations/
Backup ფაილები:
/admin/update/backups/

მნიშვნელოვანი!

  • ყოველი განახლების წინ ავტომატურად იქმნება backup
  • მიგრაციის ფაილები უნდა იყოს ვერსია_აღწერა.php ფორმატში
  • ვერსიები ეშვება თანმიმდევრულად