-- Auto-Geocoding Kolonları Ekleme Migration
-- Toilets tablosuna otomatik geocoding için gerekli kolonları ekler

USE wc360_db;

-- Auto-geocoding kolonlarını ekle
ALTER TABLE toilets 
ADD COLUMN auto_geocoded BOOLEAN DEFAULT FALSE COMMENT 'Otomatik geocoding ile adres bulundu mu',
ADD COLUMN auto_geocoded_at DATETIME NULL COMMENT 'Otomatik geocoding zamanı',
ADD COLUMN geocoding_attempts INT DEFAULT 0 COMMENT 'Geocoding deneme sayısı',
ADD COLUMN last_geocoding_attempt DATETIME NULL COMMENT 'Son geocoding deneme zamanı';

-- İndeksler ekle (performans için)
CREATE INDEX idx_toilets_auto_geocoded ON toilets(auto_geocoded);
CREATE INDEX idx_toilets_geocoding_attempts ON toilets(geocoding_attempts);
CREATE INDEX idx_toilets_last_geocoding_attempt ON toilets(last_geocoding_attempt);
CREATE INDEX idx_toilets_needs_geocoding ON toilets(address, latitude, longitude, status);

-- Mevcut adres bilgisi olan tuvaletler için auto_geocoded = FALSE set et
-- (Manuel olarak girilmiş adresler auto_geocoded değil)
UPDATE toilets 
SET auto_geocoded = FALSE 
WHERE address IS NOT NULL 
  AND address != '' 
  AND address != 'Adres bulunamadı'
  AND auto_geocoded IS NULL;

-- Migration log
INSERT INTO settings (key, value, created_at, updated_at) 
VALUES ('auto_geocoding_migration_applied', '1', NOW(), NOW())
ON DUPLICATE KEY UPDATE value = '1', updated_at = NOW();

SELECT 'Auto-geocoding migration tamamlandı!' as result; 