php tabanlı webapp veritabanı şeması revizyon kontrolü

3 Cevap php

Biz müşterilerine bir dizi için biraz daha farklı örnekleri olan bir PHP / MySQL tabanlı bir uygulama var. Ayrıca birden fazla geliştirici kod tabanı üzerinde çalışma var.

Bu senaryoda veritabanı şema değişiklikleri yönetmek için iyi bir yolu nedir? Biz DB değişiklik gerektiğinde, küçük bir senaryo yazmak için geliştiriciler gerektirir gerekir? Ben belki bir svn update yapmak ve daha sonra siteye göz attıklarında, bu komut dosyalarını çalıştırmak ve db şemasını güncelleştirmek böylece yenilerini bulursa güncelleme komut dosyalarını çalıştıran bizim kodunda bir çek dahil olabilir düşünüyorum.

Bunu yapmak ve bir bütün çerçeveyi> benimsemek zorunda kalmadan üzerine cıvatalı olabilir PHP standart kütüphaneler var mı

3 Cevap

Benim tavsiye sizin yaklaşım olacaktır. Her DB güncelleme komut kolay güncellemeleri ve geri almalar için bir yükseltme ve düşürme yöntemi hem de içerebilir olabilir. Doktrini (http://www.doctrine-project.org/) gibi bir ORM benimseyen bir seçenek değilse, o zaman ben iyi bir örnek ve en iyi uygulamaları için "Göçler" onların uygulanmasında bir göz öneririm: {[(0) }].

Bu kaynak denetimi branching kullanmayı öğrenmek isteyebilirsiniz.

Sen bir ana dal uygulamanızın sizin özelleştirilmemiş sürümünü tutmak ve ondan kendi özel değişiklik ihtiyacı her müşteri için bir şube oluşturabilirsiniz.

Yeni bir özellik ya da bir bugfix ana dal gelişmiştir zaman, merge her şube için bu değişiklikleri yapabilirsiniz istiyorum.

PHP kodu ve veritabanı şema dosyaları hem bu şekilde değişiklikleri izleyebilirsiniz.

Ben basit bir örnek için bir look at this screencast (yakın dakika 4) alır, Akelos çerçevesinin kullandığı gibi bir şey yazmak / kullanmak istiyorsunuz.