Geçişler olmadan sadece Rails Şemasını değiştirebilir misiniz?
Rails API kimlik doğrulaması için bcrypt kullanıyorum - Bu genellikle, Devise'ın Rails api aracılığıyla nasıl çalışacağını bulmaya çalıştıktan saatler sonra boşuna. (API'yi yalnızca React ön uç ile yapmaya çalışıyorum).
Her neyse, teknik borcun ödenmesi gerekene kadar yaptım. BCrypt password_digest ve Devise Hashed_password bir çıkmazda ve birinin diğerini görmezden gelmesini sağlayamıyorum. Bcrypt'e uyum sağlamak için şemanın bu bölümünü değiştirmem gerekiyor. Bunu yapmanın en iyi yolu nedir?
Yanıtlar
Geçiş kullanmadan veritabanı dönüşümleri yapmak, veritabanınız rails db
için CLI'yi başlatacak ve SQL'i yazacak şekilde çalıştırmak kadar kolaydır . Ancak daha sonra bu adımları test / geliştirme / üretim veritabanlarında tekrarlamanız ve proje üzerinde çalışan diğer geliştiricilerin de yerel veritabanlarında bu adımları gerçekleştirdiğinden emin olmanız gerekir.
Bu gerçekten hataya açık bir süreçtir ve problemi geçişlerle çözmek muhtemelen düşündüğünüzden çok daha az aşılmazdır.
Bunu yapmanın en iyi yolu nedir?
Cehalete en iyi çözüm bilgidir .
ActiveRecord geçişleri, SQL sorguları oluşturmak için bir Etki Alanına Özgü Dil (DSL) ve farklı veritabanlarında geçişleri çalıştırmak ve veritabanındaki bir meta veri tablosu üzerinden geçişlerin yürütüldüğü sekmeleri tutmak için bir mekanizmadır.
DSL aracılığıyla gerçekleştirmeye çalıştığınız sorguyu ifade edemeseniz bile, yine de herhangi bir rasgele SQL dizesini kullanabilirsiniz .