2011-05-23 25 views
5

Veritabanı tutarlılığı için SQLAlchemy kullanan, Pylons Pyramid uygulaması değirmeninin standart bir çalıştırması var.Pyramid/SQLAlchemy web uygulamalarını yükseltme

Bir SQLAlchemy-migrate repo kurdum ve çalışmasını sağladım, ancak veritabanını yükseltmek veya yükseltmek için ya da en azından kullanıcının sahip olduğu bir yolu (yumurtayı kurduktan sonra) kullanmak için paster kullanma olanağına sahip olmak istiyorum.) veritabanını gereken sürüme yükseltmek/düşürmek.

Uygulamamı şimdi yerleşik hale getirdim, bu nedenle uygulama başlatma üzerine sürüm yükseltmesi yapıyor, ancak kullanıcının tam olarak ne olduğunu bilmelerini sağlayacak şekilde veritabanını yükseltmek zorunda olduğu bir yere gitmeyi tercih ediyorum. Açık ve önceden yedeklemeler yapmak için biliyorum.

Bunun için nasıl giderim? Yapıştırmak için komutları nasıl eklerim?

kullanıcıların uygulamayı kuracak yoludur:

paste make-config appname production.ini 
paste setup-app production.ini#appname 

veritabanı isteyeyim yükseltme ya da genel olarak yükseltme yapmak, ilk kez kurmak için:

paste upgrade-app production.ini#appname 

Ya Bu çizgiler boyunca bir şey.

+1

Kendi paster komutunuzu oluşturabilirsiniz, ör. 'yükseltme-uygulama 've sonra' paster --plugin = appname yükseltme-app /path/to/production.ini appname' ile her yerden arayın. Piramidin PShellCommand'ı nasıl uyguladığını anlayabilirsiniz. – sayap

+0

@sayap Bu cevabı vermeyi kabul edersiniz diye kabul edebilir miyim? –

+0

Bitti. SO "bu hızlı ve kirli yorum benim için yeterince iyi" özelliği gerekiyor :) – sayap

cevap

1

Kendi paster komutunuzu oluşturabilirsiniz, ör. upgrade-app ve sonra paster --plugin=appname upgrade-app /path/to/production.ini appname ile her yerden arayın. Piramidin PShellCommand'ı nasıl uyguladığını anlayabilirsiniz.

0

Tam olarak aradığınız şey tam olarak değil, ancak bunu işlemenin bir yolu Fabric komutları. Benim OSS uygulamasında uygulamanız için bir .ini dosyası oluşturan çalıştırdığınız bir kumaş komutum var ve daha sonra sqlalchemy.url dosyasını ayarladıktan sonra, init'in SA geçişleri olan ve yükseltmeyi çalıştıran bir kumaş komutu çalıştırıyorsunuz. Bundan sonra, yükseltmek için fab db_upgrade çalıştırın.

http://bmark.us/install.html

Ben kurulum var yüklemek docs bir örnektir.

https://github.com/mitechie/Bookie/blob/master/fabfile/database.py

Kumaş arayüzü üzerinden mevcut db özel komutlar kümesi mi.