-- Raf Gezgini - urun kaynak tablolarindaki foreign key kisitlarini kaldirir.
-- information_schema erisimi gerektirmez.
-- Alanlari ve normal indeksleri silmez.
-- Bu dosya foreign keyler kaldirilmadan once bir kez calistirilmalidir.

USE `raf_gezgini`;

ALTER TABLE `urun_kaynak_aktarimlari`
    DROP FOREIGN KEY `fk_urun_kaynak_aktarimlari_kaynak`,
    DROP FOREIGN KEY `fk_urun_kaynak_aktarimlari_yonetici`;

ALTER TABLE `urun_kaynak_kategori_hedefleri`
    DROP FOREIGN KEY `fk_urun_kaynak_kategori_hedefleri_kaynak`,
    DROP FOREIGN KEY `fk_urun_kaynak_kategori_hedefleri_kategori`;

ALTER TABLE `urun_kaynak_kayitlari`
    DROP FOREIGN KEY `fk_urun_kaynak_kayitlari_kaynak`,
    DROP FOREIGN KEY `fk_urun_kaynak_kayitlari_aktarim`,
    DROP FOREIGN KEY `fk_urun_kaynak_kayitlari_kategori_hedefi`,
    DROP FOREIGN KEY `fk_urun_kaynak_kayitlari_urun`,
    DROP FOREIGN KEY `fk_urun_kaynak_kayitlari_yonetici`;

-- Sonuclarda CONSTRAINT ... FOREIGN KEY satiri kalmamasi gerekir.
SHOW CREATE TABLE `urun_veri_kaynaklari`;
SHOW CREATE TABLE `urun_kaynak_aktarimlari`;
SHOW CREATE TABLE `urun_kaynak_kategori_hedefleri`;
SHOW CREATE TABLE `urun_kaynak_kayitlari`;

-- Onceki basarisiz denemeden kalmis olabilecek gecici proseduru temizler.
DROP PROCEDURE IF EXISTS `foreign_key_varsa_sil`;
