2009-12-27 28 views
12

Google'ın kendisi iki çözüm sunar. BunlardanGoogle App Engine'de verileri yedeklemenin en iyi yolu nedir?

http://code.google.com/appengine/docs/python/tools/uploadingdata.html

Bir yeni ve deneysel ve yedeklemek istediğiniz veri her tür için (kullanıcı adı ve şifrenizi giriniz ayrı ve) ayrı bir komutu çalıştırmak gerektirir.

Diğer ikisi, verilerinizin her türünün yapısıyla ilgili bilgileri, model dosyanızda zaten gizli olan bilgileri iki kez yazmanızı gerektirir. (25 çeşit veri çeşidimiz var bu yüzden bu tür şeylere karşı duyarlıyım. Artı, gelecekteki değişikliklerin 3 yerde yapılması gerekeceği anlamına gelecektir.)

Aral Balkan'ın çözümü (google for " gaebar "), ancak Github'daki kodu yaklaşık bir yıl içinde güncellenmedi ve ayrıca App Engine internals'a (her versiyonda değiştiği için riskli görünen) bazı değişiklikler yapmalarını söylüyor.

Bence Google'ın deneysel olmayan çözümüne yaslanıyorum ama hepsi çok kötü görünüyor.

+0

Ek bilgi için bu soruya bakın -> http://stackoverflow.com/questions/1245632/is-there-any-tool-to-backup-restore-google-datastore-entities – JohnIdol

cevap

3

AppRocket (Google App Engine veri deposu ve MySQL veritabanını senkronize eden açık kaynaklı bir çoğaltma motoru) bölümüne bakın. Proje etkin görünüyor.

+0

Bu proje şu anda 5 yıl başarısız ve github'a taşındı. Birkaç diğer dev daha bazı güncellemeler yaptı - 2012 yılına kadar. Https://github.com/k7d/approcket/network –

2

--dump işleviyle ilgili sorun nedir? Evet, her türünü ayrı ayrı indirmelisiniz, ancak bu herhangi bir çözümle ilgili olacak. Sadece yedeklemeyi istiyorsanız, gereksinimlerinize tam olarak uyar.

+0

Neden her adım için kullanıcı adımı ve şifremi girmeliyim? –

+0

Gerek duymuyorsunuz - varsayılan olarak etkinleştirilmesi gereken çerez önbelleğe alma işlevini kullanmanız yeterlidir. –

+1

her türden ayrı olarak indirilmeye artık gerek yoktur. – dfrankow

11

İşte bulkloader.py no-config yedekleme ve geri yükleme çözümünün daha açık bir açıklaması. this issue (stack overflow) 'un ne zaman ortaya çıktığını bilmiyorum. dump1.bin adlı bir dosya içine fooapp gelen

Damping veriler:

python2.5 /usr/local/google_appengine/bulkloader.py \ 
    --dump --url http://fooapp.appspot.com/remote-api-url \ 
    --filename dump1.bin 

Sen remote API enabled olması gerekir. Yapılandırmanıza bağlı olarak remote-api-url, _ah/remote_api olabilir. Yerel bir dev örneğine dump1.bin gelen

Yükleme yukarı veriler:

python2.5 /usr/local/google_appengine/bulkloader.py \ 
    --restore --url http://localhost:8080/remote-api-url \ 
    --filename dump1.bin --application fooapp 

Bu UNIX benzeri bir sistem varsayar ve bu appengine/usr/local/google_appengine yüklenir.

Java ile çalışıp çalışmadığını bilmiyorum, ancak olabilir.

İlgili konular