-- ============================================================================
-- Migration: Favori Ürünler Sistemi
-- Tarih: 2026-02-15
-- Açıklama: Bayilerin favori ürünlerini kaydetme ve yönetme sistemi
-- ============================================================================

-- Tablo: Favori Ürünler
-- ============================================================================
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'MS_B2B_FAVORITES') AND type = 'U')
    DROP TABLE MS_B2B_FAVORITES;
GO

CREATE TABLE MS_B2B_FAVORITES (
    LOGICALREF INT IDENTITY(1,1) PRIMARY KEY,
    MEMBERREF INT NOT NULL,              -- MS_B2B_MEMBERS.LOGICALREF (Bayi)
    STOCKREF INT NOT NULL,               -- LG_xxx_ITEMS.LOGICALREF (Ürün)
    DATEADDED DATETIME DEFAULT GETDATE(), -- Eklenme tarihi
    NOTES NVARCHAR(500) NULL,            -- Opsiyonel not
    CONSTRAINT UQ_FAVORITES_MEMBER_STOCK UNIQUE(MEMBERREF, STOCKREF)
);
GO

-- İndeksler
CREATE INDEX IX_FAVORITES_MEMBER ON MS_B2B_FAVORITES(MEMBERREF);
CREATE INDEX IX_FAVORITES_STOCK ON MS_B2B_FAVORITES(STOCKREF);
CREATE INDEX IX_FAVORITES_DATE ON MS_B2B_FAVORITES(DATEADDED DESC);
GO

PRINT 'MS_B2B_FAVORITES tablosu oluşturuldu.';
GO


-- Test Verileri (Opsiyonel - Geliştirme ortamı için)
-- ============================================================================
/*
-- Örnek favori kayıtları
INSERT INTO MS_B2B_FAVORITES (MEMBERREF, STOCKREF, NOTES)
VALUES (1, 12345, 'Sık kullanılan lastik');

INSERT INTO MS_B2B_FAVORITES (MEMBERREF, STOCKREF)
VALUES (2, 12346);

PRINT 'Test verileri eklendi.';
*/

PRINT '';
PRINT '============================================================================';
PRINT 'Migration tamamlandı!';
PRINT 'Oluşturulan tablolar:';
PRINT '  - MS_B2B_FAVORITES (Favori ürünler)';
PRINT '============================================================================';
GO
