Ah canım, bu gözyaşlarıyla sonuçlanabilir.
Kişisel deneyimden bahsetmişken, yalnızca üretim sistemimiz (Heroku) PostgreSQL'i çalıştırdığı için MySQL'den taşındık. PostgreSQL üzerinde kırılan MySQL sorguları için özel olarak oluşturduk. Öyleyse, buradaki hikayenin moralinin her şey üzerinde aynı DBMS üzerinde çalışmak olduğunu düşünüyorum, aksi takdirde sorunlara karışabilirsiniz.
Bazen, Über-hızlı-gibi kayıtlar eklemek zorundayız. Bunun için, bizim app PostgreSQL yerleşik COPY
fonksiyonda, bu gibi kullanılabilen kullanın:
query = "COPY users(email) FROM STDIN WITH CSV"
values = users.map! do |user|
# Be wary of the types of the objects here, they matter.
# For instance if you set the id to a string it will error.
%Q{#{user["email"]}}
end.join("\n")
raw_connection.exec(query)
raw_connection.put_copy_data(values)
raw_connection.put_copy_end
Bu hemen altında iki dakikada veritabanına ~ 500.000 kayıtları ekler. Daha fazla alan eklersek yaklaşık aynı zamanlarda.
PostgreSQL MySQL üzerinde sahip güzel şeyler Başka bir çift:
- tam metni
- Coğrafi sorgulama (PostGIS)
LIKE
sözdizimi NOT LIKE
email !~ 'hotmail|gmail'
gibidir, bu email ~ 'hotmail|gmail'
gibidir arama. |
bir veya bir gösterir.
Özetle: PostgreSQL, MySQL'in Lego olduğu & harç tuğlaları gibidir. Sana doğru "hissettiği" ile git. Bu sadece benim kişisel görüşüm.
topluluk wiki olmalı bir kesinti durumunda
Sayısız benzer soruların varlığından bahsetmiyorum. –
Doğru cevap, ben sorduğum gibi mysql gelen postgres taşıma hakkında en ayrıntılı ve içgörü sağlar gönderi olacaktır. Ve buradaki soru, özellikle diğer yayınların aksine Rails geliştirme ile ilgilidir. – concept47