2013-02-10 15 views
5

Şu anda Migrations özelliğini destekleyen bir çerçeve öğreniyorum.Migrations kullanmanın yararları

Soruma soru sormak: geçişleri kullanmak için ana avantaj nedir?

Neden tabloları eklemek/değiştirmek/değiştirmek ve diğer işlemleri doğrudan yapmak için bir veritabanı yönetim aracı kullanmıyoruz? Ya da neden sadece .sql dosyamı ve ekibimi veritabanlarına aktarmamam gerekiyor?

cevap

7

Geçişler, dağıtım işleminin bir parçasıdır. Yani (genel olarak) göçler faydaları (görevlendirilmesine muhtemelen er ya da geç bir şema değişikliği unutmak çünkü)

  • yerel olarak test edebilirsiniz (çünkü elle yapmak zorunda değilsiniz

    • vardır Muhtemelen hatalar yaparsınız er ya da geç)
    • Ekip üyelerinize yerel veritabanlarını el ile değiştirmelerini (çünkü bu sadece rahatsız edici olduğu için) söylemeniz ya da yeni bir döküm almanız gerekmiyor (yine ...)
    • Birden fazla ortama sahip (sahne, ürün, test) bu adımı herhangi bir sistemde yapmanız gerekir. Bu Muhtemelen canlı sistem içine (muhtemelen eski) gelişme-veritabanını almak istemiyorum
    • hata olasılığını arttırır; bir projenin başında)

    Not, bu şema may basit ve veritabanı küçük olsun, ama bu kalmayacak. Er ya da geç (;)), büyük veritabanları ile karşı karşıya geleceksiniz, bu da ithalat için zaman alır. Ek: İyi bir geçiş genellikle hata durumunda "indirme" adımına sahiptir. Üste | Dağıtımınız ters giderse, yaklaşımınız ile veritabanı değişikliklerinizi manuel olarak geri almanız gerekir; bu da daha fazla hataya neden olur.

  • +0

    Çok kullanışlıdır :) –

    3

    Bunları veritabanınızın sürüm denetimi olarak düşünün. Ayrıca, PHPMyAdmin'de neler yaptığınızı hatırlamak yerine, değişikliklerinizi birden fazla ortama (örneğin geliştirme ortamınız, daha sonra test/üretim sunucunuz) kolay ve otomatikleştirilebilir hale getirmeyi de sağlar.

    DB'lerini taşımak için ihtiyaç duydukları birine, DB'lerine yapmaları gereken her bir değişikliği bildirmek zorunda olmaktan daha kolay bir yöntemdir.

    +0

    Neden .sql dosyamı ve ekibimi dışa aktarmamak için veritabanlarımı içe aktarmamalıyım? ve cevabınız için teşekkürler :) –

    +0

    Bunu yapabilirsiniz, ama belki de size farklı bir özellik üzerinde çalışıyorlar ve kullandıkları bir dizi geçici test verisi eklediler. DB geçişleri, tüm DB'yi değiştirmek ve test verilerini tekrar eklemek zorunda kalmak yerine, test verilerini tutmaya ve yeni değişikliklerinizi eklemelerine izin verir. – ChrisC

    +0

    @KhalidKhalil En basit cevap: Eğer bir veritabanınız varsa, inanılmaz bir şekilde can sıkıcıdır, 500MB'dan daha fazladır (ve diyelim) 500MB ve bunu tekrar tekrar almak zorundasınız, çünkü bir takım üyesi tek bir sütun ekleyecektir: D – KingCrunch

    İlgili konular