Migration Veritabanı Taşıma Aracı Phinx

Açıklama

Phinx, geliştiricilerin veritabanını basitçe değiştirmesine ve bakımını yapmasına imkan tanır. Elle SQL sorguları yazma gereksinimini ortadan kaldırır ve güçlü PHP API'sini kullanarak veritabanı taşımalarını yönetir. Geliştiriciler, veritabanı taşıma işlemlerini sürüm kontrolüyle yönetebilir. Phinx, farklı veritabanları arasında veri taşımasını kolaylaştırır. Ayrıca hangi taşıma betiklerinin yürütüldüğünü izleyebilir ve geliştiricilerin veritabanı durumundan endişelenmeden daha iyi sistemler nasıl yazacaklarına odaklanmalarını sağlar.

Proje Adresi

https://github.com/cakephp/phinx

Kurulum

composer require robmorgan/phinx

Resmi Çince Belgeler Adresi

Detaylı kullanım için resmi Çince belgelere göz atabilirsiniz, burada sadece webman içinde yapılandırma ve kullanımı anlatılacaktır.

https://tsy12321.gitbooks.io/phinx-doc/content/

Taşıma Dosyası Dizin Yapısı

.
├── app                           Uygulama dizini
│   ├── controller                Denetleyici dizini
│   │   └── Index.php             Denetleyici
│   ├── model                     Model dizini
......
├── database                      Veritabanı dosyaları
│   ├── migrations                Taşıma dosyaları
│   │   └── 20180426073606_create_user_table.php
│   ├── seeds                     Test verileri
│   │   └── UserSeeder.php
......

phinx.php Yapılandırması

Proje ana dizininde phinx.php dosyası oluşturun.

<?php
return [
    "paths" => [
        "migrations" => "database/migrations",
        "seeds"      => "database/seeds"
    ],
    "environments" => [
        "default_migration_table" => "phinxlog",
        "default_database"        => "dev",
        "default_environment"     => "dev",
        "dev" => [
            "adapter" => "DB_CONNECTION",
            "host"    => "DB_HOST",
            "name"    => "DB_DATABASE",
            "user"    => "DB_USERNAME",
            "pass"    => "DB_PASSWORD",
            "port"    => "DB_PORT",
            "charset" => "utf8"
        ]
    ]
];

Kullanım Önerileri

Taşıma dosyaları bir kez kod birleştirildikten sonra artık değiştirilemez, bir sorun ortaya çıkarsa işlem yapmak için yeni bir değiştirme veya silme işlem dosyası oluşturulmalıdır.

Veri tabanı oluşturma işlem dosyası adlandırma kuralı

{zaman (otomatik oluşturulur)}_create_{tablo_adı_küçük_harflerle}

Veri tabanı değiştirme işlem dosyası adlandırma kuralı

{zaman (otomatik oluşturulur)}_modify_{tablo_adı_küçük_harflerle+belirli_değişiklikler_küçük_harflerle}

Veri tabanı silme işlem dosyası adlandırma kuralı

{zaman (otomatik oluşturulur)}_delete_{tablo_adı_küçük_harflerle+belirli_değişiklikler_küçük_harflerle}

Veri doldurma dosyası adlandırma kuralı

{zaman (otomatik oluşturulur)}_fill_{tablo_adı_küçük_harflerle+belirli_değişiklikler_küçük_harflerle}