Rails’de Yumuşak Silme ve Denetim Kaydı Rehberi
Merhaba! Bu rehberde, Ruby on Rails uygulamalarınızda veri bütünlüğünü korumak ve verileri gerektiğinde geri getirebilmek için kullanabileceğiniz “yumuşak silme” (soft delete) ve tüm değişiklikleri takip eden “denetim kaydı” (audit logging) tekniklerini ele alacağız. Öncelikle, neden bu tekniklere ihtiyaç duyduğumuzu ve nasıl uygulayabileceğimizi inceleyelim.
Yumuşak Silme (Soft Delete) Nedir ve Neden Kullanmalıyız?
Verileri tamamen silmek yerine, bir kaydın silindiğini gösteren bir işaretleyici ekleyerek verileri “gizlemek” işlemidir. Bu sayede, veriler fiziksel olarak silinmez, ancak aktif olarak görünmez hale gelir. Bu yaklaşım, özellikle verilerin geri getirilmesinin gerekebileceği durumlarda oldukça kullanışlıdır. Örneğin, bir e-ticaret sitesindeki silinen siparişleri, daha sonra incelemek veya müşteri hizmetleri için kullanmak üzere saklamak isteyebilirsiniz. Yumuşak silme sayesinde, verileri kaybederken bir yedekleme yapma ihtiyacından kurtulmuş olursunuz.
Rails’de Yumuşak Silmeyi Uygulama
Rails’de yumuşak silmeyi uygulamanın en yaygın yolu, paranoia gem’ini kullanmaktır. Bu gem, deleted_at sütununu otomatik olarak ekleyerek, silinen kayıtları takip etmenizi sağlar. İşte nasıl kullanılacağına dair bir örnek:
# Gemfile'a ekleyin:
gem 'paranoia'
# Modelinize ekleyin:
class Post < ApplicationRecord
acts_as_paranoid
end
Bu kod, Post modelinize deleted_at sütununu ekler. Artık destroy yerine delete metodunu kullanarak kayıtları yumuşak bir şekilde silebilirsiniz. Silinen kayıtları geri getirmek için with_deleted metodunu kullanabilirsiniz. Daha detaylı bilgi için paranoia gem'inin GitHub sayfasını ziyaret edebilirsiniz. Ek olarak, ActiveAdmin gibi arayüzler kullanıyorsanız, genellikle yumuşak silmeyi kolayca entegre edebilirsiniz.
Denetim Kaydı (Audit Logging) Nedir ve Nasıl Uygulanır?
Denetim kaydı, veritabanındaki değişiklikleri takip etmenizi sağlar. Bu sayede, hangi kullanıcı tarafından, ne zaman ve hangi verilerin değiştirildiğini görebilirsiniz. Bu özellik, güvenlik denetimleri, hata ayıklama ve veri bütünlüğünü sağlamak için oldukça önemlidir. Rails'de denetim kaydı için çeşitli gem'ler mevcuttur. Benim önerim, oldukça güçlü ve kullanımı kolay olan audited gem'idir.
# Gemfile'a ekleyin:
gem 'audited'
# Modelinize ekleyin:
class Post < ApplicationRecord
audited
end
Bu kod, Post modeliniz için denetim kaydı özelliğini etkinleştirir. Şimdi, her değişiklik için bir denetim kaydı oluşturulacaktır. Bu kayıtları görmek için Audited::Audit modelini kullanabilirsiniz. Daha fazla bilgi için audited gem'inin GitHub sayfasını inceleyebilirsiniz. Bu gem ile birlikte, değişiklikleri yapan kullanıcının bilgilerini de kaydedebilirsiniz.
Yumuşak Silme ve Denetim Kaydını Birlikte Kullanmak
Yumuşak silme ve denetim kaydını birlikte kullanarak, veri bütünlüğünü sağlarken, değişiklikleri de izleyebilirsiniz. Bu, özellikle hassas verilerle çalışırken son derece önemlidir. paranoia ve audited gem'lerini birlikte kullanarak, silinen kayıtların da denetim altında tutulmasını sağlayabilirsiniz.
Sonuç
Bu rehberde, Rails uygulamalarınızda veri bütünlüğünü korumak ve verileri geri getirme olanağı sunan yumuşak silme ve değişiklikleri takip eden denetim kaydı mekanizmalarını inceledik. Bu teknikler, uygulamanızın güvenliğini ve sağlamlığını artırmanıza yardımcı olacaktır. Daha fazla bilgi ve destek için web sitemi ziyaret edebilirsiniz.
#Etiketler: Rails, yumuşak silme, soft delete, denetim kaydı, audit logging, paranoia gem, audited gem, ActiveAdmin, ActiveRecord, Ruby on Rails, Fatih Soysal