Bu Sunucu Ne Yapacak?
Kaynak sunuculardan gelen değişiklikleri analiz edip birleştireceksin. Her kaynak sunucu için aynı süreç tekrarlanacak.
KRİTİK Güvenlik Kuralları
❌ ASLA YAPMA
- storage/ klasörlerine DOKUNMA
- .env dosyasını değiştirme
- Migration otomatik çalıştırma
- Onaysız dosya silme
- vendor/ veya node_modules/ değiştirme
✅ HER ZAMAN YAP
- Her adımda git checkpoint
- Rollback hash'i kaydet
- Çakışma varsa ÖNCE kullanıcıya sor
- Her dosyayı yedekle sonra yaz
- Test planı oluştur ve uygula
1 Mevcut Durumu Yedekle
Herhangi bir değişiklik yapmadan önce mevcut durumu kaydet:
# Mevcut durumu kontrol et
git status
git log --oneline -5
# Tüm değişiklikleri kaydet
git add -A
git commit -m "🔒 CHECKPOINT: Before merge from [KAYNAK] - $(date +%Y-%m-%d_%H-%M)"
# ROLLBACK HASH - ÖNEMLİ!
git rev-parse HEAD
ROLLBACK HASH'i KAYDET! Bir şey ters giderse bu hash'e döneceğiz.
2 SYNC Raporunu Analiz Et
Kullanıcı kaynak sunucudan SYNC raporu iletecek. Bu raporu analiz et:
🟢 GÜVENLİ
Direkt alınabilir
- • Yeni dosyalar
- • Tema dosyaları
- • View dosyaları
🟡 DİKKATLİ
İnceleme gerekli
- • Her iki tarafta değişmiş
- • Model dosyaları
- • Controller dosyaları
🔴 TEHLİKELİ
Özel onay gerekli
- • Config dosyaları
- • Route dosyaları
- • Provider dosyaları
📋 Her dosya için kontrol et:
- 1. Bu sunucuda bu dosya var mı?
- 2. Varsa içeriği farklı mı?
- 3. Bu sunucuda da değişiklik yapılmış mı?
- 4. Çakışma riski var mı?
3 Dosya Aktarımı
Kullanıcıdan dosyaları iste ve sistemli şekilde aktar:
3.1 Dosyaları İste
Kullanıcıya şunu söyle:
Lütfen kaynak sunucudan şu dosyaları alıp bana iletin: 1. path/to/file1.php 2. path/to/file2.php ... Her dosyanın içeriğini bu chat'e yapıştırın.
3.2 Her Dosya İçin (Sırayla)
# 1. Mevcut dosyayı yedekle (varsa)
cp path/to/file.php path/to/file.php.backup.$(date +%Y%m%d)
# 2. Yeni içeriği yaz (Write tool ile)
# 3. İzinleri düzelt
sudo chown [user]:[group] path/to/file.php
sudo chmod 644 path/to/file.php
3.3 Batch Checkpoint
Her 5-10 dosyadan sonra checkpoint:
git add -A
git commit -m "🔄 MERGE: Files from [KAYNAK] - Batch X"
4 Migration Kontrolü
Kaynak sunucudaki migration'ları bu sunucuyla karşılaştır:
# Bu sunucudaki migration durumu
php artisan migrate:status
# Migration dosyalarını listele
ls -la database/migrations/ | tail -20
ls -la Modules/*/database/migrations/tenant/ 2>/dev/null
MİGRATION ÇALIŞTIRMA! Sadece talimat ver, kullanıcı çalıştırsın.
📋 Kullanıcıya talimat ver:
Bu sunucuda eksik migration'lar var: 📦 CENTRAL Migration'lar: php artisan migrate --force 📦 TENANT Migration'lar: php artisan tenants:migrate --force ⚠️ ÖNCELİKLE test ortamında deneyin! ⚠️ Veritabanı yedeği alın!
5 Test Planı Oluştur
Değişen modüllere göre test listesi oluştur:
Auth Modülü Değiştiyse
- ☐ Giriş yap (admin + normal user)
- ☐ Çıkış yap
- ☐ Şifre sıfırlama
- ☐ Kayıt ol (varsa)
- ☐ Session persistence
Blog Modülü Değiştiyse
- ☐ Blog listesi
- ☐ Blog detay sayfası
- ☐ Kategori filtreleme
- ☐ SEO meta tags
- ☐ Görseller yükleniyor mu
Service Modülü Değiştiyse
- ☐ Servis listesi
- ☐ Servis detay
- ☐ İletişim formu
- ☐ Alt servisler (varsa)
Tema Değiştiyse
- ☐ Anasayfa görünüm
- ☐ Header/Footer
- ☐ Mobile responsive
- ☐ Dark mode (varsa)
- ☐ Tüm sayfalar açılıyor mu
Config Değiştiyse
- ☐ Cache temizle
- ☐ Config cache rebuild
- ☐ Route cache rebuild
- ☐ Site erişilebilir mi (200 OK)
Route Değiştiyse
- ☐ Yeni route'lar çalışıyor mu
- ☐ Eski route'lar bozulmadı mı
- ☐ 404 hatası yok
- ☐ Middleware'ler çalışıyor
php artisan cache:clear && php artisan config:clear && \
php artisan route:clear && php artisan view:clear && \
php artisan responsecache:clear
6 Sonuç Raporu
Birleştirme tamamlandığında bu formatı kullan:
═══════════════════════════════════════════════════════ ✅ MERGE TAMAMLANDI [KAYNAK] → [HEDEF] ═══════════════════════════════════════════════════════ 📅 Tarih: [tarih] 🔑 Kaynak Commit: [hash] 🔒 Rollback Hash: [hash] ───────────────────────────────────────────────────── 📁 AKTARILAN DOSYALAR ───────────────────────────────────────────────────── ✅ path/to/file1.php ✅ path/to/file2.php ⚠️ path/to/risky.php (manuel kontrol gerekli) ───────────────────────────────────────────────────── 🗄️ BEKLEYEN MİGRATIONLAR ───────────────────────────────────────────────────── [ ] Central: php artisan migrate --force [ ] Tenant: php artisan tenants:migrate --force ───────────────────────────────────────────────────── 🧪 TEST SONUÇLARI ───────────────────────────────────────────────────── ✅ Auth: Giriş/Çıkış çalışıyor ✅ Blog: Listeleme çalışıyor ✅ Tema: Anasayfa görünüyor ⚠️ [Varsa sorun belirt] ───────────────────────────────────────────────────── 🔙 ROLLBACK TALİMATI ───────────────────────────────────────────────────── Sorun olursa: git checkout [rollback_hash] -- . git checkout HEAD -- storage/ php artisan cache:clear ═══════════════════════════════════════════════════════
7 Sonraki Kaynak Sunucu
Bu kaynak tamamlandıysa, sıradaki için hazırlan:
[KAYNAK] birleştirmesi tamamlandı. ✅ Sıradaki kaynak sunucu var mı? Varsa yeni SYNC RAPORU'nu iletin. Aynı süreci tekrarlayacağız: 1. Checkpoint oluştur 2. Raporu analiz et 3. Dosyaları aktar 4. Migration kontrol 5. Test et 6. Sonuç raporu
ACİL ROLLBACK
Bir şey ters giderse:
1. Son checkpoint'e dön
git checkout [rollback_hash] -- .
2. Storage'ı KORUMA ALTINA AL
git checkout HEAD -- storage/
3. Cache temizle
php artisan cache:clear && php artisan config:clear && php artisan route:clear && php artisan view:clear
4. Siteyi test et
curl -I https://[site]/ | head -1
200 OK almalısın
Kaynak Sunucu ile İletişim
Kaynak sunucudaki AI'a soru sorabilirsin. Örnekler:
Sen: "config/app.php'nin tam diff'ini alabilir misin?"
Sen: "Bu migration hangi tabloyu etkiliyor, down() metodu var mı?"
Sen: "routes/web.php'de hangi satırlar değişti?"
Bu soruları kullanıcıya ver, o kaynak sunucuya iletecek.