v0.1 ilkin inkişaf versiyasını oxuyursunuz. API-lər dəyişə bilər.
~ 2 dəq oxuYenilənib: 2026-10-29

Miqrasiyalar

Miqrasiyalar verilənlər bazası sxeminizdəki dəyişiklikləri qeydə alır. Hər fayl Migration interfeysini reallaşdıran obyekt qaytarır.

Miqrasiya yaradın

php elang make:migration create_posts

database/migrations/ daxilində yaradılmış faylı redaktə edin:

use Doctrine\DBAL\Connection;
use Doctrine\DBAL\Schema\Table;
use Elang\Database\Migration;

return new class implements Migration {
    public function up(Connection $database): void
    {
        $table = new Table('posts');
        $table->addColumn('id', 'integer');
        $table->addColumn('title', 'string', ['length' => 160]);
        $table->setPrimaryKey(['id']);
        $database->createSchemaManager()->createTable($table);
    }

    public function down(Connection $database): void
    {
        $database->createSchemaManager()->dropTable('posts');
    }
};

Tətbiq edin və yoxlayın

php elang migrate:status
php elang migrate

Miqrasiyalar fayl adlarının ardıcıllığı ilə icra olunur və artıq tətbiq edilmiş fayllar ötürülür. Miqrasiya cədvəli versiyaları və paketləri izləyir. Tətbiq edilmiş miqrasiyanı redaktə etməyin; yenisini yazın.

Geri qaytarın

php elang migrate:rollback

Bu əmr son paket üçün down() metodunu əks ardıcıllıqla çağırır. Geri qaytarma məlumatları silə bilər. Əvvəlcə vacib məlumatların ehtiyat nüsxəsini çıxarın və kodu nəzərdən keçirin. İstehsal mühitindəki dəyişikliklər --force tələb edir.

SQLite və PostgreSQL miqrasiyaları tranzaksiyalıdır. MySQL DDL əməliyyatları gizli commit edə bilər, buna görə oradakı sxem dəyişiklikləri uğursuzluqdan bərpanın diqqətlə planlaşdırılmasını tələb edir. Bir host üzərində paralel miqrasiya icraları fayl kilidi istifadə edir; çoxhostlu yerləşdirmələrdə miqrasiyalar bir yerləşdirmə tapşırığından icra edilməlidir.

Kömək lazımdır?

Yoxlayın: problemlərin həlli bələdçisi, termini burada axtarın: terminlər lüğəti, yaxud bunu addım-addım tamamlayın: tam tapşırıq lövhəsi layihəsi.

Elang sənədlərində axtar

Növbəti addımınızı tapmaq üçün yazmağa başlayın.