# Veritabanı Deployment Sonrası Doğrulama: Çoğu Ekibin Atladığı Adım

Deployment tamamlandı. Script çalıştı, hata vermedi. Herkes bir sonraki işe geçti.

Ama doğrulama yapıldı mı?

* * *

## Hata Vermemek Yeterli Değil

Bir deployment başarılı sayılmak için iki koşulu sağlamalı: teknik olarak hatasız çalışmak ve iş mantığı açısından doğru sonuç üretmek.

Script hata vermeden çalışabilir ama yanlış veriyi güncelleyebilir, yanlış sonuç döndürebilir ya da beklenmedik bir yan etki yaratabilir.

Bunu anlamanın tek yolu doğrulama.

* * *

## Doğrulama Neleri Kapsamalı?

**Veri bütünlüğü kontrolü**

Deployment sonrası kritik tablolardaki kayıt sayıları beklenen değerlerde mi? Yabancı anahtar kısıtlamaları sağlanıyor mu? Null olmaması gereken alanlar boş değil mi?

sql

```sql
-- Deployment sonrası kontrol sorgusu örneği
SELECT
    'Musteriler' AS Tablo,
    COUNT(*) AS KayitSayisi,
    SUM(CASE WHEN Email IS NULL THEN 1 ELSE 0 END) AS NullEmail
FROM Musteriler

UNION ALL

SELECT
    'Siparisler',
    COUNT(*),
    SUM(CASE WHEN MusteriID IS NULL THEN 1 ELSE 0 END)
FROM Siparisler
```

**Performans kontrolü**

Deployment sonrası kritik sorgular hâlâ makul sürede çalışıyor mu? Yeni bir index eklendi ama başka bir sorgu yavaşladı mı?

**Uygulama kontrolü**

Deployment'tan etkilenen uygulama ekranları test edildi mi? API endpoint'leri beklenen yanıtları döndürüyor mu?

**Zamanlanmış iş kontrolü**

Deployment'tan etkilenen SQL job'ları çalıştı mı, çalışacak mı?

* * *

## Doğrulama Kaydı

Doğrulama sadece yapılmamalı, kayıt altına da alınmalı. Kim doğruladı, ne kontrol etti, sonuç ne oldu.

Bu kayıt üç işe yarıyor: bir sorun çıkarsa neyin kontrol edilip edilmediği belli oluyor, denetimde deployment sürecinin eksiksiz işlendiği kanıtlanıyor ve ekip içi disiplin oluşuyor.

* * *

## Ne Zaman Rollback Kararı Verilmeli?

Doğrulama sırasında şu durumlardan biri varsa rollback gündemine gelmeli:

Kritik bir sorgu yavaşladıysa, veri tutarsızlığı tespit edildiyse, uygulama hata vermeye başladıysa ya da beklenen kayıt sayıları tutmuyorsa.

Rollback kararını vermek zordur. Ama önceden belirlenmiş kriterler bu kararı kolaylaştırır. "Şu durum varsa rollback yapıyoruz" şeklinde önceden yazılmış bir kural, kriz anındaki tartışmayı ortadan kaldırır.

* * *

## Sonuç

Deployment doğrulama bir ekstra adım değil, deployment sürecinin ayrılmaz parçası. Atlandığında risk görünmez, yaşandığında ise geç kalınmış olur.

Detaylı bilgi için: [sqlchangeguard.com](http://sqlchangeguard.com)
