-- =========================================================
-- 001 — ANA ŞEMA (bkz. pos-sistem-mimari.md için tam açıklama)
-- =========================================================
SET FOREIGN_KEY_CHECKS=0;

CREATE TABLE subeler (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    unvan VARCHAR(150) NOT NULL,
    vergi_dairesi VARCHAR(100),
    vergi_no VARCHAR(20),
    adres VARCHAR(255),
    telefon VARCHAR(20),
    aktif TINYINT(1) DEFAULT 1,
    olusturulma_tarihi DATETIME DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB;

CREATE TABLE roller (
    id TINYINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    kod VARCHAR(30) NOT NULL UNIQUE,
    ad VARCHAR(50) NOT NULL
) ENGINE=InnoDB;

CREATE TABLE kullanicilar (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    sube_id INT UNSIGNED NOT NULL,
    rol_id TINYINT UNSIGNED NOT NULL,
    ad_soyad VARCHAR(100) NOT NULL,
    kullanici_adi VARCHAR(50) NOT NULL UNIQUE,
    sifre_hash VARCHAR(255) NOT NULL,
    pin_kod VARCHAR(10),
    telefon VARCHAR(20),
    aktif TINYINT(1) DEFAULT 1,
    son_giris DATETIME NULL,
    olusturulma_tarihi DATETIME DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (sube_id) REFERENCES subeler(id),
    FOREIGN KEY (rol_id) REFERENCES roller(id)
) ENGINE=InnoDB;

CREATE TABLE izinler (
    id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    kod VARCHAR(50) NOT NULL UNIQUE,
    aciklama VARCHAR(150)
) ENGINE=InnoDB;

CREATE TABLE rol_izinleri (
    rol_id TINYINT UNSIGNED NOT NULL,
    izin_id SMALLINT UNSIGNED NOT NULL,
    PRIMARY KEY (rol_id, izin_id),
    FOREIGN KEY (rol_id) REFERENCES roller(id),
    FOREIGN KEY (izin_id) REFERENCES izinler(id)
) ENGINE=InnoDB;

CREATE TABLE api_tokenlar (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    kullanici_id INT UNSIGNED NOT NULL,
    token VARCHAR(128) NOT NULL UNIQUE,
    cihaz_adi VARCHAR(100),
    son_kullanim DATETIME NULL,
    gecerlilik_tarihi DATETIME NULL,
    olusturulma_tarihi DATETIME DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (kullanici_id) REFERENCES kullanicilar(id)
) ENGINE=InnoDB;

CREATE TABLE kategoriler (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    sube_id INT UNSIGNED NOT NULL,
    ust_kategori_id INT UNSIGNED NULL,
    ad VARCHAR(100) NOT NULL,
    renk_kodu VARCHAR(7) DEFAULT '#7f1d1d',
    sira SMALLINT DEFAULT 0,
    FOREIGN KEY (sube_id) REFERENCES subeler(id),
    FOREIGN KEY (ust_kategori_id) REFERENCES kategoriler(id)
) ENGINE=InnoDB;

CREATE TABLE birimler (
    id TINYINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    kod VARCHAR(10) NOT NULL UNIQUE,
    ad VARCHAR(30) NOT NULL
) ENGINE=InnoDB;

CREATE TABLE tedarikciler (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    sube_id INT UNSIGNED NOT NULL,
    unvan VARCHAR(150) NOT NULL,
    yetkili VARCHAR(100),
    telefon VARCHAR(20),
    vergi_no VARCHAR(20),
    bakiye DECIMAL(12,2) DEFAULT 0,
    FOREIGN KEY (sube_id) REFERENCES subeler(id)
) ENGINE=InnoDB;

CREATE TABLE urunler (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    sube_id INT UNSIGNED NOT NULL,
    kategori_id INT UNSIGNED NULL,
    birim_id TINYINT UNSIGNED NOT NULL DEFAULT 1,
    tedarikci_id INT UNSIGNED NULL,
    barkod VARCHAR(30) NOT NULL,
    barkod_otomatik_mi TINYINT(1) DEFAULT 0,
    ad VARCHAR(200) NOT NULL,
    resim_url VARCHAR(255),
    alis_fiyati DECIMAL(10,2) DEFAULT 0,
    satis_fiyati DECIMAL(10,2) NOT NULL,
    kdv_orani DECIMAL(4,2) DEFAULT 10.00,
    stok_miktari DECIMAL(12,3) DEFAULT 0,
    kritik_stok_seviyesi DECIMAL(12,3) DEFAULT 5,
    tartili_urun_mu TINYINT(1) DEFAULT 0,
    hizli_buton_goster TINYINT(1) DEFAULT 0,
    hizli_buton_grup TINYINT UNSIGNED DEFAULT 1,
    aktif TINYINT(1) DEFAULT 1,
    silindi_mi TINYINT(1) DEFAULT 0,
    olusturulma_tarihi DATETIME DEFAULT CURRENT_TIMESTAMP,
    guncellenme_tarihi DATETIME NULL ON UPDATE CURRENT_TIMESTAMP,
    UNIQUE KEY uq_sube_barkod (sube_id, barkod),
    FULLTEXT KEY ft_urun_ad (ad),
    FOREIGN KEY (sube_id) REFERENCES subeler(id),
    FOREIGN KEY (kategori_id) REFERENCES kategoriler(id),
    FOREIGN KEY (birim_id) REFERENCES birimler(id),
    FOREIGN KEY (tedarikci_id) REFERENCES tedarikciler(id)
) ENGINE=InnoDB;

CREATE TABLE urun_varyantlari (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    urun_id INT UNSIGNED NOT NULL,
    varyant_adi VARCHAR(50) NOT NULL,
    barkod VARCHAR(30),
    stok_miktari DECIMAL(12,3) DEFAULT 0,
    ek_fiyat_farki DECIMAL(10,2) DEFAULT 0,
    FOREIGN KEY (urun_id) REFERENCES urunler(id)
) ENGINE=InnoDB;

CREATE TABLE terazi_barkod_kurallari (
    id TINYINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    sube_id INT UNSIGNED NOT NULL,
    prefix VARCHAR(2) NOT NULL,
    kod_uzunlugu TINYINT DEFAULT 13,
    urun_kod_baslangic TINYINT DEFAULT 1,
    urun_kod_bitis TINYINT DEFAULT 5,
    deger_baslangic TINYINT DEFAULT 6,
    deger_bitis TINYINT DEFAULT 10,
    deger_tipi ENUM('agirlik','fiyat') DEFAULT 'agirlik',
    ondalik_hane TINYINT DEFAULT 3,
    aktif TINYINT(1) DEFAULT 1,
    FOREIGN KEY (sube_id) REFERENCES subeler(id)
) ENGINE=InnoDB;

CREATE TABLE stok_hareketleri (
    id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    sube_id INT UNSIGNED NOT NULL,
    urun_id INT UNSIGNED NOT NULL,
    varyant_id INT UNSIGNED NULL,
    kullanici_id INT UNSIGNED NOT NULL,
    hareket_tipi ENUM('giris','cikis','satis','iade','transfer','sayim_duzeltme') NOT NULL,
    miktar DECIMAL(12,3) NOT NULL,
    oncesi_stok DECIMAL(12,3) NOT NULL,
    sonrasi_stok DECIMAL(12,3) NOT NULL,
    referans_tip VARCHAR(30) NULL,
    referans_id BIGINT UNSIGNED NULL,
    aciklama VARCHAR(255),
    olusturulma_tarihi DATETIME DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (sube_id) REFERENCES subeler(id),
    FOREIGN KEY (urun_id) REFERENCES urunler(id),
    FOREIGN KEY (kullanici_id) REFERENCES kullanicilar(id),
    INDEX idx_urun_tarih (urun_id, olusturulma_tarihi)
) ENGINE=InnoDB;

CREATE TABLE musteriler (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    sube_id INT UNSIGNED NOT NULL,
    ad_soyad VARCHAR(150) NOT NULL,
    telefon VARCHAR(20),
    adres VARCHAR(255),
    veresiye_limit DECIMAL(12,2) DEFAULT 0,
    guncel_bakiye DECIMAL(12,2) DEFAULT 0,
    aktif TINYINT(1) DEFAULT 1,
    silindi_mi TINYINT(1) DEFAULT 0,
    olusturulma_tarihi DATETIME DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (sube_id) REFERENCES subeler(id)
) ENGINE=InnoDB;

CREATE TABLE veresiye_hareketleri (
    id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    musteri_id INT UNSIGNED NOT NULL,
    kullanici_id INT UNSIGNED NOT NULL,
    hareket_tipi ENUM('borclanma','tahsilat') NOT NULL,
    tutar DECIMAL(12,2) NOT NULL,
    oncesi_bakiye DECIMAL(12,2) NOT NULL,
    sonrasi_bakiye DECIMAL(12,2) NOT NULL,
    satis_id BIGINT UNSIGNED NULL,
    odeme_yontemi ENUM('nakit','pos') NULL,
    aciklama VARCHAR(255),
    olusturulma_tarihi DATETIME DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (musteri_id) REFERENCES musteriler(id),
    FOREIGN KEY (kullanici_id) REFERENCES kullanicilar(id)
) ENGINE=InnoDB;

CREATE TABLE kasalar (
    id TINYINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    sube_id INT UNSIGNED NOT NULL,
    ad VARCHAR(50) NOT NULL,
    aktif TINYINT(1) DEFAULT 1,
    FOREIGN KEY (sube_id) REFERENCES subeler(id)
) ENGINE=InnoDB;

CREATE TABLE kasa_oturumlari (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    kasa_id TINYINT UNSIGNED NOT NULL,
    acan_kullanici_id INT UNSIGNED NOT NULL,
    kapatan_kullanici_id INT UNSIGNED NULL,
    acilis_tutari DECIMAL(12,2) NOT NULL DEFAULT 0,
    kapanis_tutari_sistem DECIMAL(12,2) NULL,
    kapanis_tutari_sayim DECIMAL(12,2) NULL,
    fark DECIMAL(12,2) NULL,
    acilis_zamani DATETIME DEFAULT CURRENT_TIMESTAMP,
    kapanis_zamani DATETIME NULL,
    durum ENUM('acik','kapali') DEFAULT 'acik',
    FOREIGN KEY (kasa_id) REFERENCES kasalar(id),
    FOREIGN KEY (acan_kullanici_id) REFERENCES kullanicilar(id),
    FOREIGN KEY (kapatan_kullanici_id) REFERENCES kullanicilar(id)
) ENGINE=InnoDB;

CREATE TABLE kasa_teslimleri (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    kasa_oturum_id INT UNSIGNED NOT NULL,
    teslim_eden_id INT UNSIGNED NOT NULL,
    teslim_alan_id INT UNSIGNED NOT NULL,
    tutar DECIMAL(12,2) NOT NULL,
    aciklama VARCHAR(255),
    imza_teslim_eden TINYINT(1) DEFAULT 0,
    imza_teslim_alan TINYINT(1) DEFAULT 0,
    olusturulma_tarihi DATETIME DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (kasa_oturum_id) REFERENCES kasa_oturumlari(id),
    FOREIGN KEY (teslim_eden_id) REFERENCES kullanicilar(id),
    FOREIGN KEY (teslim_alan_id) REFERENCES kullanicilar(id)
) ENGINE=InnoDB;

CREATE TABLE gider_kategorileri (
    id TINYINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    ad VARCHAR(50) NOT NULL
) ENGINE=InnoDB;

CREATE TABLE giderler (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    sube_id INT UNSIGNED NOT NULL,
    kasa_oturum_id INT UNSIGNED NULL,
    kategori_id TINYINT UNSIGNED NOT NULL,
    kullanici_id INT UNSIGNED NOT NULL,
    tutar DECIMAL(12,2) NOT NULL,
    aciklama VARCHAR(255),
    belge_url VARCHAR(255),
    olusturulma_tarihi DATETIME DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (sube_id) REFERENCES subeler(id),
    FOREIGN KEY (kasa_oturum_id) REFERENCES kasa_oturumlari(id),
    FOREIGN KEY (kategori_id) REFERENCES gider_kategorileri(id),
    FOREIGN KEY (kullanici_id) REFERENCES kullanicilar(id)
) ENGINE=InnoDB;

CREATE TABLE satislar (
    id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    sube_id INT UNSIGNED NOT NULL,
    kasa_id TINYINT UNSIGNED NOT NULL,
    kasa_oturum_id INT UNSIGNED NOT NULL,
    kullanici_id INT UNSIGNED NOT NULL,
    musteri_id INT UNSIGNED NULL,
    fis_no VARCHAR(30) NOT NULL,
    ara_toplam DECIMAL(12,2) NOT NULL,
    iskonto_tutari DECIMAL(12,2) DEFAULT 0,
    iskonto_yuzde DECIMAL(5,2) DEFAULT 0,
    kdv_toplam DECIMAL(12,2) DEFAULT 0,
    genel_toplam DECIMAL(12,2) NOT NULL,
    alinan_tutar DECIMAL(12,2) DEFAULT 0,
    para_ustu DECIMAL(12,2) DEFAULT 0,
    satis_durumu ENUM('tamamlandi','iptal','iade') DEFAULT 'tamamlandi',
    iptal_eden_id INT UNSIGNED NULL,
    iptal_nedeni VARCHAR(255),
    fis_yazdirildi_mi TINYINT(1) DEFAULT 0,
    e_belge_id BIGINT UNSIGNED NULL,
    olusturulma_tarihi DATETIME DEFAULT CURRENT_TIMESTAMP,
    UNIQUE KEY uq_sube_fisno (sube_id, fis_no),
    FOREIGN KEY (sube_id) REFERENCES subeler(id),
    FOREIGN KEY (kasa_id) REFERENCES kasalar(id),
    FOREIGN KEY (kasa_oturum_id) REFERENCES kasa_oturumlari(id),
    FOREIGN KEY (kullanici_id) REFERENCES kullanicilar(id),
    FOREIGN KEY (musteri_id) REFERENCES musteriler(id),
    INDEX idx_tarih (olusturulma_tarihi)
) ENGINE=InnoDB;

CREATE TABLE satis_kalemleri (
    id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    satis_id BIGINT UNSIGNED NOT NULL,
    urun_id INT UNSIGNED NOT NULL,
    varyant_id INT UNSIGNED NULL,
    urun_adi_o_an VARCHAR(200) NOT NULL,
    barkod_o_an VARCHAR(30) NOT NULL,
    miktar DECIMAL(12,3) NOT NULL,
    birim_fiyat DECIMAL(10,2) NOT NULL,
    kdv_orani DECIMAL(4,2) NOT NULL,
    iskonto_tutari DECIMAL(10,2) DEFAULT 0,
    satir_toplami DECIMAL(12,2) NOT NULL,
    FOREIGN KEY (satis_id) REFERENCES satislar(id) ON DELETE CASCADE,
    FOREIGN KEY (urun_id) REFERENCES urunler(id)
) ENGINE=InnoDB;

CREATE TABLE odeme_tipleri (
    id TINYINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    kod VARCHAR(20) NOT NULL UNIQUE,
    ad VARCHAR(30) NOT NULL
) ENGINE=InnoDB;

CREATE TABLE satis_odemeleri (
    id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    satis_id BIGINT UNSIGNED NOT NULL,
    odeme_tipi_id TINYINT UNSIGNED NOT NULL,
    tutar DECIMAL(12,2) NOT NULL,
    pos_slip_no VARCHAR(50) NULL,
    FOREIGN KEY (satis_id) REFERENCES satislar(id) ON DELETE CASCADE,
    FOREIGN KEY (odeme_tipi_id) REFERENCES odeme_tipleri(id)
) ENGINE=InnoDB;

CREATE TABLE iadeler (
    id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    satis_id BIGINT UNSIGNED NOT NULL,
    satis_kalem_id BIGINT UNSIGNED NOT NULL,
    kullanici_id INT UNSIGNED NOT NULL,
    miktar DECIMAL(12,3) NOT NULL,
    tutar DECIMAL(12,2) NOT NULL,
    neden VARCHAR(255),
    olusturulma_tarihi DATETIME DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (satis_id) REFERENCES satislar(id),
    FOREIGN KEY (satis_kalem_id) REFERENCES satis_kalemleri(id),
    FOREIGN KEY (kullanici_id) REFERENCES kullanicilar(id)
) ENGINE=InnoDB;

CREATE TABLE pos_cihazlari (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    sube_id INT UNSIGNED NOT NULL,
    kasa_id TINYINT UNSIGNED NOT NULL,
    marka ENUM('profilo','ingenico','verifone','diger') NOT NULL,
    baglanti_tipi ENUM('tcp','http','com_port') NOT NULL,
    ip_adres VARCHAR(50),
    port SMALLINT UNSIGNED,
    com_port VARCHAR(10),
    ekstra_ayarlar JSON NULL,
    aktif TINYINT(1) DEFAULT 1,
    FOREIGN KEY (sube_id) REFERENCES subeler(id),
    FOREIGN KEY (kasa_id) REFERENCES kasalar(id)
) ENGINE=InnoDB;

CREATE TABLE yazici_ayarlari (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    sube_id INT UNSIGNED NOT NULL,
    kasa_id TINYINT UNSIGNED NOT NULL,
    baglanti_tipi ENUM('usb','network','com_port') NOT NULL,
    ip_adres VARCHAR(50),
    port SMALLINT UNSIGNED,
    kagit_genisligi_mm TINYINT DEFAULT 80,
    FOREIGN KEY (sube_id) REFERENCES subeler(id),
    FOREIGN KEY (kasa_id) REFERENCES kasalar(id)
) ENGINE=InnoDB;

CREATE TABLE fis_ayarlari (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    sube_id INT UNSIGNED NOT NULL,
    kagit_genisligi_mm TINYINT DEFAULT 80,
    temel_yazi_boyutu TINYINT DEFAULT 14,
    isletme_adi_boyutu TINYINT DEFAULT 26,
    bilgi_satiri_boyutu TINYINT DEFAULT 13,
    baslik_hizasi ENUM('sol','orta','sag') DEFAULT 'orta',
    ust_ekstra_satir VARCHAR(150),
    urun_adi_boyutu TINYINT DEFAULT 16,
    miktar_satiri_boyutu TINYINT DEFAULT 14,
    satir_toplam_boyutu TINYINT DEFAULT 16,
    ara_toplam_boyutu TINYINT DEFAULT 16,
    genel_toplam_boyutu TINYINT DEFAULT 28,
    odeme_satiri_boyutu TINYINT DEFAULT 15,
    etiket_fis_no VARCHAR(30) DEFAULT 'FİŞ NO:',
    etiket_tarih VARCHAR(30) DEFAULT 'TARİH:',
    etiket_kasiyer VARCHAR(30) DEFAULT 'KASİYER:',
    etiket_musteri VARCHAR(30) DEFAULT 'MÜŞTERİ:',
    etiket_odeme VARCHAR(30) DEFAULT 'ÖDEME:',
    etiket_ara_toplam VARCHAR(30) DEFAULT 'ARA TOPLAM:',
    etiket_kdv VARCHAR(30) DEFAULT 'KDV (dahil):',
    etiket_para_ustu VARCHAR(30) DEFAULT 'PARA ÜSTÜ:',
    alt_mesaj VARCHAR(150) DEFAULT 'Bizi tercih ettiğiniz için teşekkürler!',
    FOREIGN KEY (sube_id) REFERENCES subeler(id)
) ENGINE=InnoDB;

CREATE TABLE terazi_cihazlari (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    sube_id INT UNSIGNED NOT NULL,
    kasa_id TINYINT UNSIGNED NOT NULL,
    baglanti_tipi ENUM('com_port','tcp') NOT NULL,
    com_port VARCHAR(10),
    ip_adres VARCHAR(50),
    port SMALLINT UNSIGNED,
    protokol VARCHAR(30) DEFAULT 'generic_serial',
    FOREIGN KEY (sube_id) REFERENCES subeler(id),
    FOREIGN KEY (kasa_id) REFERENCES kasalar(id)
) ENGINE=InnoDB;

CREATE TABLE e_belgeler (
    id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    sube_id INT UNSIGNED NOT NULL,
    satis_id BIGINT UNSIGNED NOT NULL,
    belge_tipi ENUM('e_fatura','e_arsiv') NOT NULL,
    entegrator VARCHAR(50),
    uuid VARCHAR(64),
    belge_no VARCHAR(30),
    durum ENUM('taslak','gonderildi','onaylandi','reddedildi','iptal') DEFAULT 'taslak',
    xml_url VARCHAR(255),
    pdf_url VARCHAR(255),
    hata_mesaji VARCHAR(255),
    gonderim_tarihi DATETIME NULL,
    olusturulma_tarihi DATETIME DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (sube_id) REFERENCES subeler(id),
    FOREIGN KEY (satis_id) REFERENCES satislar(id)
) ENGINE=InnoDB;

CREATE TABLE sistem_ayarlari (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    sube_id INT UNSIGNED NOT NULL,
    anahtar VARCHAR(100) NOT NULL,
    deger TEXT,
    UNIQUE KEY uq_sube_anahtar (sube_id, anahtar),
    FOREIGN KEY (sube_id) REFERENCES subeler(id)
) ENGINE=InnoDB;

CREATE TABLE denetim_kayitlari (
    id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    sube_id INT UNSIGNED NOT NULL,
    kullanici_id INT UNSIGNED NOT NULL,
    islem VARCHAR(50) NOT NULL,
    tablo_adi VARCHAR(50),
    kayit_id BIGINT UNSIGNED,
    eski_deger JSON NULL,
    yeni_deger JSON NULL,
    ip_adres VARCHAR(45),
    olusturulma_tarihi DATETIME DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (sube_id) REFERENCES subeler(id),
    FOREIGN KEY (kullanici_id) REFERENCES kullanicilar(id)
) ENGINE=InnoDB;

CREATE TABLE bildirimler (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    sube_id INT UNSIGNED NOT NULL,
    tip ENUM('kritik_stok','veresiye_limit','sistem') NOT NULL,
    mesaj VARCHAR(255) NOT NULL,
    okundu_mu TINYINT(1) DEFAULT 0,
    ilgili_tablo VARCHAR(50),
    ilgili_id BIGINT UNSIGNED,
    olusturulma_tarihi DATETIME DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (sube_id) REFERENCES subeler(id)
) ENGINE=InnoDB;

SET FOREIGN_KEY_CHECKS=1;
