📋 Planlama

Migration Klasör Reorganizasyonu

29 Aralık 2025 - Multi-tenant Migration Yapısı Düzenleme

📝 Basit Anlatım (Herkes İçin)

Migration dosyaları veritabanı tablolarını oluşturan kodlardır. Şu anda bazı dosyalar yanlış yerlerde:

⚠️ Central de bir tenant olduğu için tenant'taki her şey central'da da olmalı!

🔧 Teknik Detaylar

Mevcut Yapı:

database/
├── migrations/           → Central DB (tuufi_4ekim) - 85 dosya
├── migrations/tenant/    → Tenant DB'ler - 55 dosya
└── ...

Modules/
├── Muzibu/database/migrations/       → 18 dosya + tenant/ alt klasör
├── Shop/database/migrations/         → ? dosya
└── ...

Sorunlar:

1 Tenant'ta Olup Migrations'da Olmayanları Bul

✅ SONUÇ: Eksik dosya YOK!

Tüm tenant dosyaları zaten migrations/ klasöründe mevcut.

2 Modül Migration'larını Taşı

Aşağıdaki dosyalar kendi modül klasörlerine taşınmalı:

🎵 MUZIBU MODÜLÜ (10 dosya)

Hedef: Modules/Muzibu/database/migrations/

• 2025_11_10_223740_add_description_to_muzibu_sectors_table.php
• 2025_11_11_050254_add_hls_fields_to_muzibu_songs_table.php
• 2025_11_12_001526_add_search_indexes_to_muzibu_tables.php
• 2025_11_24_000001_create_muzibu_corporate_accounts_table.php
• 2025_11_29_040130_add_encryption_to_songs.php
• 2025_12_05_201240_add_last_played_song_to_users_table.php (users tablosu - dikkat!)
• 2025_12_06_042550_drop_metadata_from_muzibu_songs_table.php
• 2025_12_06_044035_drop_redundant_fields_from_muzibu_songs.php
• 2025_12_06_044715_drop_virtual_search_columns_from_muzibu_tables.php
• 2025_12_29_203727_add_browser_platform_to_song_plays.php

🛒 SHOP MODÜLÜ (12 dosya)

Hedef: Modules/Shop/database/migrations/

• 2025_10_14_000000_create_shop_product_chat_placeholders_table.php
• 2025_10_30_142400_add_soft_deletes_to_shop_carts_table.php
• 2025_10_30_144439_create_shop_currencies_table.php
• 2025_10_30_144543_add_currency_id_to_shop_tables.php
• 2025_10_30_185655_rename_currency_to_currency_code_in_shop_carts_table.php
• 2025_10_30_200601_add_is_auto_update_to_shop_currencies_table.php
• 2025_10_30_211814_add_last_updated_at_to_shop_currencies_table.php
• 2025_11_14_060949_add_display_and_currency_fields_to_cart_items.php
• 2025_11_14_062634_add_address_fields_to_carts.php
• 2025_11_23_000001_rename_shop_tables_to_universal.php
• 2025_11_30_000258_add_performance_indexes_to_shop_products_and_blogs.php
• 2025_12_12_041443_add_indexes_for_slow_queries_cart_addresses.php

💳 SUBSCRIPTION MODÜLÜ (3 dosya)

Hedef: Modules/Subscription/database/migrations/

• 2025_12_23_050000_add_subscription_expires_at_to_users_table.php
• 2025_12_23_050001_update_subscriptions_status_column.php
• 2025_12_23_060000_add_subscription_expires_at_to_tenant_users_table.php

🔍 SEO MODÜLÜ (3 dosya)

Hedef: Modules/Seo/database/migrations/

• 2025_07_19_000001_create_seo_settings_table.php
• 2025_07_19_000002_create_tenant_seo_settings_table.php
• 2025_11_15_163014_add_author_fields_to_seo_settings_table.php

📦 WIDGET MODÜLÜ (2 dosya)

Hedef: Modules/Widget/database/migrations/

• 2025_12_04_024730_add_position_and_indexes_to_tenant_widgets_table.php
• 2025_12_04_024805_add_indexes_to_widget_items_table.php

3 Duplicate Dosyaları Temizle

media_table (2 adet)

• 2025_02_15_192501_create_media_table.php (eski)
• 2025_02_15_192502_create_media_table.php (yeni kopyalanan)

→ İçerikleri karşılaştır, uygun olanı tut

activity_log (2 adet)

• 2024_11_27_203421_create_activity_log_table.php
• 2024_11_27_203421_tenant_create_activity_log_table.php

→ tenant_ prefix'li olan tenant/ klasöründe kalmalı

! Central-Only Dosyalar (Taşınmayacak)

Bu dosyalar SADECE migrations/ klasöründe kalmalı:

• create_tenants_table.php
• create_domains_table.php
• add_is_premium_to_tenants_table.php
• add_is_primary_to_domains_table.php
• add_theme_settings_to_tenants_table.php
• create_themes_table.php
• add_available_for_tenants_to_themes_table.php
• create_telescope_entries_table.php
• create_pulse_tables.php
• create_geozone_*.php
• create_a_i_credit_packages_table.php

📊 İşlem Özeti

10
Muzibu
12
Shop
3
Subscription
5
SEO + Widget

Toplam ~30 dosya modül klasörlerine taşınacak

⚠️ Onay Bekliyor

Bu plan uygulanmadan önce onayınız gerekiyor:

💬 "UYGUNDUR" veya değişiklik isteğinizi belirtin.