Staging tabloları vs doğrudan içe aktarımlar: daha güvenli CSV/Excel yüklemeleri
Staging tablolar vs doğrudan içe aktarma: önizleme, doğrulama ve insan onayı adımlarıyla CSV/Excel yüklemeleri için daha güvenli bir iş akışı öğrenin.

Gerçekte CSV/Excel içe aktarımları neden yanlış gidiyor
Tek tıkla içe aktarımlar güvenli hissediyor çünkü basit görünür: dosyayı seç, birkaç sütunu eşleştir, Uygula'ya tıkla. Sorun şu ki CSV ve Excel dosyaları çoğu zaman gizli sürprizler taşır ve doğrudan içe aktarma bu sürprizleri canlı tablolara doğrudan gönderir.
Çoğu dosya birçok elden geçmiştir. Birisi sütun adını değiştirir, bir başkası değerleri fazladan boşluklarla yapıştırır, tarih formatları karışır veya boş bırakılır. Başka biri farklı bir sistemden dışa aktarır ve farklı kimlikler, ayırıcılar veya para birimi formatları kullanır. Bunların hiçbiri bir tabloda dramatik görünmez, ama veritabanları daha az hoşgörülüdür.
Küçük hatalar büyük sorunlara dönüşür çünkü üretim verisi paylaşılıyordur. Yanlış bir müşteri ID'si siparişleri yanlış hesaba bağlayabilir. Kaymış bir sütun binlerce satırda e-posta ile telefonu yer değiştirebilir. Tek bir kötü değer raporları bozabilir, yanlış otomasyonları tetikleyebilir veya günler sürecek bir temizlik projesi yaratabilir.
İşte staging ile doğrudan içe aktarma arasındaki gerçek gerilim: kontrol. Doğrudan içe aktarma değişiklikleri hemen canlıya yazar. Staging yaklaşımı dosyayı önce hedef alanları yansıtan, ama gerçek kayıtları henüz değiştirmeyen geçici bir tutma alanına (staging tablosu) yükler.
Doğrudan içe aktarma, dosya uygulamanız tarafından üretiliyorsa, şema stabilse, hacimler küçükse ve kolayca geri alabiliyorsanız işe yarayabilir. Dosya insanlardan, ortaklardan veya birden fazla sistemden geliyorsa, staging genelde daha güvenli varsayılandır.
Yaygın başarısızlık noktaları:
- Sütunların yeniden adlandırılması veya yeniden sıralanması, yanlış eşlemeye yol açması
- Tarihlerin ve sayıların metin olarak saklanması veya karışık formatlar
- Var olan kayıtları güncellemesi gereken çoğaltmaların yeni kayıtlar oluşturması
- Anlamı değiştiren ekstra boşluklar, virgüller veya baştaki sıfırlar
- İçe aktarmadan sonra ortaya çıkan eksik zorunlu alanlar
Doğrudan içe aktarma vs staging tablolar: temel fark
Doğrudan içe aktarma bir CSV veya Excel dosyasını alır ve her satırı doğrudan üretim tablolarına yazar. İçe aktarma çalışır çalışmaz canlı veri değişir. Dosyada hata varsa, genellikle müşteriler, raporlar veya downstream sistemler kötü veriyi kullanmaya başlamadan sonra fark edersiniz.
Staging bunu tersine çevirir. Dosyayı önce bir tutma alanına yüklersiniz, onu incelersiniz, doğrularsınız ve ancak temiz satırları üretime yükseltirsiniz.
"Daha güvenli" hatasız demek değildir. Ama geri döndürülemez değişiklikleri azaltır. Staging ile çoğu problem uygulamanızın dayandığı tablolara dokunmadan önce yakalanır.
Uygulamada:
- Doğrudan içe aktarma hızlıdır, ama hatalar hemen üretime düşer.
- Staging bir adım ekler, fakat önizleme, doğrulama ve onay anı sağlar.
- Staging denetimleri kolaylaştırır çünkü hangi dosyanın yüklendiğini ve neyin kabul edildiğini kaydedebilirsiniz.
- Değişiklikler bir partiye bağlı olduğunda geri alma daha basittir, dağınık düzenlemeler yerine.
Örnek: biri 01/02/2026 tarihini Şubat 1 olarak girmiş ama içe aktarıcı Ocak 2 olarak okuyor. Doğrudan içe aktarmada bu yanlış tarih her yerde kaydedilir ve geri çevirmek zordur. Staging'de önizleme şüpheli tarih kalıplarını işaretleyebilir, böylece insanlar eşlemeyi düzeltir ve hiçbir şey uygulanmaz.
Doğrudan içe aktarmadan kaynaklanan yaygın veri bozulma kalıpları
Doğrudan içe aktarmalar basit görünür: dosyayı yükle, alanları eşleştir, Uygula'ya tıkla. Ama satırlar doğrudan canlı tablolara gidince küçük sorunlar hızla kalıcı karmaşaya dönüşür.
Sütun uyuşmazlığı klasik bir örnektir. Başlık Phone'dan Mobile olarak yeniden adlandırılır, ortada bir sütun eklenir veya biri biraz farklı bir şablonla dışa aktarır. Eğer içe aktarıcı pozisyona göre eşliyorsa veriler yanlış alanlara kayabilir. İsme göre eşliyorsa, yeniden adlandırılan sütun atlanabilir ve kimse fark etmeyebilir.
Format sürprizleri başka bir sessiz bozulma kaynağıdır. Excel ID'leri sayıya çevirebilir (baştaki sıfırları düşürür), uzun değerleri bilimsel gösterime alabilir veya tarihleri locale göre yorumlayabilir. 03/04/2026 tarihi Mart 4 veya Nisan 3 anlamına gelebilir. 1,234 gibi bir sayı bazı formatlarda 1.234 olarak yorumlanabilir. Zaman dilimleri de faturanın UTC olduğunu varsayarken dosya yerel saatteyse zaman damgalarını kaydırabilir.
Çoğaltmalar ve kısmi güncellemeler karışık sonuçlara yol açar. İçe aktarma email'i benzersiz anahtar olarak kullanıyorsa ama dosyada aynı email ile iki satır varsa, "sonuncu kazanır" davranışı iyi veriyi üzerine yazabilir. İçe aktarma yarıda kesilirse bazı satırlar güncellenip diğerleri eksik kalabilir; bu da sonradan tespit edilmesi zor bir durum yaratır.
Kırık referanslar özellikle acı vericidir. Dosya var olmayan CompanyID değerleri içerebilir veya ManagerEmail bir kullanıcıyla eşleşmeyebilir. Doğrudan içe aktarmalar bazen boş yabancı anahtarlarla kayıt oluşturur veya eşleştirme kuralları çok gevşek olduğunda yanlış ebeveyne bağlar.
Gerçekçi bir senaryo: Region sütunu Territory olarak yeniden adlandırıldı, tarihler metin olarak geldi ve Account Name benzersiz olmadığı için yarım satırlar yanlış hesaba bağlandı.
Staging ile neler mümkün (önizleme, doğrulama, insan incelemesi)
Staging, içe aktarmaların risk profilini değiştirir. Sistem dosyayı gerçek verilere yazmadan önce ne anladığını görürsünüz. Bu duraklama çoğu “bir tablo yükledik her şey bozuldu” hikayesini engeller.
Önizleme ve doğrulama
Bir staging tablosu sistemin anladığı şekilde ayrıştırılmış satırları tutar. Uygulamanızın yazacağı aynı sütunlarla birlikte sorunlar (eksik değerler, hatalı tarihler, beklenmeyen formatlar) için net flag'ler gösteren bir önizleme ızgarası sunabilirsiniz. İnsanlar kaymış sütunları veya yanlış ayırıcıyı saniyeler içinde fark eder.
Doğrulama da staging üzerinde çalıştığı için daha temiz olur. Tipik kurallar: zorunlu alanlar, tip kontrolleri (sayılar, tarihler, boolean), aralıklar ve izin verilen değerler, partide benzersizlik ve bitis_tarihi > baslangic_tarihi gibi alanlar arası mantık.
İnsan incelemesi ve izlenebilirlik
Staging, insan onay adımını sorunsuz destekler. Bir destek lideri müşteri güncellemelerini inceleyebilirken finans kredi limitini değiştiren satırları onaylayabilir. İnceleyen kişi “veritabanını düzenlemiyor”, bir partiyi onaylıyor.
Ayrıca güvenilir bir denetim izi sağlar. Kim yükledi, ne zaman yükledi, kaç satır işlendi, neler reddedildi ve neden gibi batch meta verilerini saklayın.
Adım adım: daha güvenli bir staging tabanlı içe aktarma iş akışı
Her yüklemeyi küçük bir proje gibi ele alın: dosyanın nasıl görünmesi gerektiği konusunda anlaşın, onu güvenli bir yere yükleyin, sonra üretime dokunmadan önce inceleyin.
İlk olarak basit bir “kaynak dosya kontratı” belirleyin. Pratikte bu; paylaşılan bir CSV/Excel şablonu ve kısa bir not: hangi sütunlar zorunlu, hangi sütunlar opsiyonel ve her sütun ne anlama geliyor. Tarih formatı, durum için izin verilen değerler ve ID'lerin benzersiz olup olmaması gibi birkaç kural ekleyin.
Sonra sütunların veritabanı alanlarına nasıl eşleneceğine ve hangi dönüşümlere izin vereceğinize karar verin. Örneğin: "Evet/Hayır" değerlerini true/false'a çevir, e-postalardaki fazladan boşlukları kırp, opsiyonel alanlar için boş dizeleri NULL'a çevir. Riskli alanlarda (ID, para, zaman damgaları) katı davranın.
Ham satırları üretime değil staging'e yükleyin. Bir import_batch_id ekleyin ve uploaded_by, uploaded_at, original_filename gibi meta veriler saklayın. Bu, yüklemeyi izlenebilir kılar ve kontrolleri yeniden çalıştırmayı veya batch'e göre geri almayı mümkün kılar.
Pratik akış:
- Başlık satırını kontrata karşı doğrulayın; zorunlu sütunlar eksikse erken durun.
- Satır numaralarını kaydederek değerleri staging'e ayrıştırın.
- Doğrulamaları çalıştırın (tipler, aralıklar, zorunlu alanlar, çoğaltmalar, alanlar arası kurallar).
- İnsanların gerçekten kullanabileceği bir hata raporu oluşturun (satır, sütun, düzeltilecek nokta).
- Batch kontrolleri geçene kadar Apply butonunu aktif etmeyin (veya bir inceleyen belirli uyarıları özellikle kabul etmeden ilerlemeye izin vermeyin).
Önizleme ve inceleme deneyimini tasarlamak
İyi bir önizleme ekranı staging'in gerçek değerini gösterdiği yerdir. Gelen satırlara bakıp neyin değişeceğini anlamalı ve üretime dokunmadan sorunları düzeltebilmelisiniz.
Tabloyu tanıdık tutun. Önemli sütunları ilk sıraya koyun (isim, e-posta, ID, durum). Net bir satır sonuç sütunu ekleyin ve hataları tek bir banner'ın içine gömmeyin; her satır için spesifik tutun.
İnceleyicilerin genelde ihtiyaç duyduğu bilgiler:
- Satır durumu (OK, uyarı, hata)
- Satır başına kısa mesaj (ör. "E-posta eksik" veya "Bilinmeyen ülke kodu")
- Sistem neyi eşledi (ör. "E-postaya göre mevcut müşteriyle eşlendi")
- Ne olacak (insert, update, skip)
- Takımın kaynak dosyayı düzeltebilmesi için indirilebilir bir hata listesi
Filtreleme önemlidir. İnceleyiciler 5.000 satırı taramak istemez. “Sadece sorunlu satırlar” ve “sadece yeni satırlar” gibi hızlı filtreler ekleyin, ayrıca müşteri adı veya ID ile arama yapma imkanı verin.
Bir satırda problem varsa seçimleri basit tutun: dosyada düzeltip yeniden yükle, tek seferlik sorunlar için uygulama içinde birkaç alanı düzenle veya satırı hariç bırakıp diğerlerinin ilerlemesine izin ver.
Onay yolunu basit bir statü modeliyle belirgin hâle getirin: Taslak (yüklendi), Hazır (kontroller geçti), Onaylandı (imzalandı), Uygulandı (üretime gönderildi).
Staging'den üretime sürpriz olmadan terfi ettirme
Verileri staging'den gerçek tablolara taşıdığınız an küçük sorunların pahalı olduğu andır. Her yüklemeyi isimlendirilmiş bir batch olarak ele alın ve Apply’e izin vermeden önce kullanıcı net kurallar seçsin.
Önce bir içe aktarma stratejisi seçin:
- Insert only: tamamen yeni bir liste oluşturuyorsanız.
- Update only: yalnızca mevcut kayıtları düzeltmek için.
- Upsert: güçlü ve stabil bir eşleştirme anahtarınız varsa, bulunursa güncelle yoksa ekle.
Satırların nasıl eşleneceğini belirleyin
Çoğaltmalar nadiren tamamen aynı görünür. Aynı müşterinin iki kaydı büyük/küçük harf, boşluk ya da değişmiş e-posta nedeniyle farklı olabilir. Birincil eşleştirme anahtarını seçin ve ona sıkı davranın. Yaygın seçimler: müşteriler için email, ürünler için SKU veya kaynak sistemden gelen dış ID. Anahtar staging'de eksikse veya benzersiz değilse tahmin yapmayın; bu satırları geri gönderin.
Uygulamadan önce onaylayın:
- Strateji (insert, update, upsert)
- Tek eşleştirme alanı
- Eşleştirme alanı boş veya çoğaltılmışsa ne yapılacağı
- Hangi alanların mevcut değerlerin üzerine yazılabileceği
- Uyarıların açıkça onay gerektirip gerektirmediği
Denetim izi ve geri alma planı tutun
Bir batch uygulandığında satır başına sonuç kaydedin: inserted, updated, skipped veya failed ve nedeni. Mümkünse değiştirilen alanların önce/sonra değerlerini de loglayın.
Geri alma için her uygulanan satırı batch ID’ye bağlayın. En güvenli yol küçük batch'ler için tek bir transaction içinde uygulamaktır; büyük import'lar için ise parça parça commit ve eklenenleri geri silen ya da güncellemeleri önceki değerlerle geri döndüren telafi mekanizmaları kullanın.
Kaçınılması gereken hatalar ve tuzaklar
Verinize olan güveni bozan en hızlı yol üretime doğrudan içe aktarmaktır, çünkü bir kere işe yaradıysa insanlar tekrar kullanmaya eğilimli olur. Benzeyen dosyalar farklı davranabilir: yeni bir sütun, eksik başlık veya tek bir kötü satır yüzlerce kaydı sessizce bozabilir.
Bir başka tuzak stabil tanımlayıcıları atlamaktır. Açık bir anahtar yoksa (customer_id, email, dış referans) bir satırın yeni kayıt mı yoksa mevcut kaydı güncelleme mi olduğunu güvenilir şekilde belirleyemezsiniz. Sonuç: çoğaltmalar, kazara üzerine yazmalar ve uzun temizlik işleridir.
Sessiz tip dönüşümlerine dikkat edin. Geçersiz tarihleri boş yapma veya para birimini yuvarlama gibi “yardımcı” davranışlar hataları gizler ve rapor yanlış görünene kadar fark edilmez. Ayrıştırma sorunlarını otomatik düzeltme yerine inceleme için işaretleyin.
Sürüm karışıklığı da gerçek zarar verir. Takımlar eski test dosyalarını yeniden kullanır, yanlış sekmeyi kopyalar veya aynı içe aktarmayı iki kez çalıştırır. Hangi dosyanın hangi değişikliği ürettiğini söyleyemiyorsanız denetimler ve geri alımlar tahmine dönüşür.
Apply'e basmadan önce dikkat edilmesi gereken kırmızı bayraklar:
- Güncellemeler için benzersiz bir tanımlayıcı seçilmemiş
- Uyarılar gösteriliyor ama bunları incelemeden ilerlemeye izin veriliyor
- Hatalı satırlar karantinaya alınmak yerine atılıyor
- Boş hücreler varsayılan olarak mevcut alanların üzerine yazıyor
- Test ve gerçek yüklemeler aynı staging alanını veya adı paylaşıyor
Basit bir koruma, kısa bir import notu zorunlu kılmak ve staged dosya ile önizleme sonuçlarını birlikte saklamaktır.
Uygulamaya basmadan önce hızlı kontrol listesi
Verileri staging'den canlı tablolara taşımadan önce son bir kontrol yapın. Çoğu içe aktarma felaketi son tıklamada, insanlar "tamam gibiydi" varsayıp sıkıcı kontrolleri atladığında olur.
Kontrol listesi:
- Dosyanın beklenen şablona uyduğunu doğrulayın: doğru sayfa, doğru başlıklar, zorunlu sütun yok mu.
- Doğrulamayı yeniden çalıştırın ve sadece ilk birkaç mesaja değil hata özetine bakın.
- Gerçek satırlardan örnekler kontrol edin (sadece ilk satıra bakmayın). Tarihler, ondalıklar, telefon numaraları ve baştaki sıfırlara dikkat.
- Sayımları doğrulayın: yüklenen satır, uygulanmaya hazır satır, reddedilen satır, güncellenecek vs oluşturulacak satır sayıları.
- Partiyi geri alabileceğinizi doğrulayın: bir import ID, bir rollback aksiyonu veya en azından "önce" değerlerin dışa aktarımı.
2.000 satır yüklendi ama sadece 1.850 uygulanacaksa, geriye kalan 150 için ne olduğundan emin olmadan "yeterli" demeyin. Bazen zararsızdır; bazen de tam olarak önem verdiğiniz müşterilerdir.
Basit bir örnek senaryo: müşteri listesi yüklemesi
Sales ops ekibi bir lead sağlayıcısından 8.000 “müşteri” içeren bir spreadsheet alır ve günü bitirmeden CRM'e atmak ister. Doğrudan içe aktarma ile her satır üretimi hemen değiştirmeye başlar. Staging ile arada güvenli bir durak elde edersiniz; problemler gerçek kayıtlara dokunmadan önce görünür.
Excel dosyası bir staging batch'e yüklenir (örneğin customer_import_batch_2026_01_29). Uygulama bir önizleme ızgarası ve özet gösterir: kaç satır okundu, hangi sütunlar eşlendi ve hangi alanlar riskli görünüyor.
İlk doğrulama geçişi şu tür sorunları yakalar:
- Geçersiz veya eksik e-postalar (ör.
john@ya da boş hücreler) - Üretimde zaten var olan email'lerle ve dosya içindeki çift email'lerle çoğaltmalar
- Hatalı tarihler (karışık formatlar
03/04/05veya imkansız değerler) - Kaynağındaki ekstra virgül yüzünden hizalanmamış alanlar
Bir inceleyen (yükleyenin kendisi değil) batch'i açar, sorun gruplarına filtre uygular ve bir çözüm atar: düzeltilemeyen satırları atla, uygun olan küçük değer kümelerini staging'de düzelt, ve bazılarını "tedarikçiye ihtiyaç var" olarak notla.
Sonra aynı batch üzerinde doğrulamayı yeniden çalıştırırlar. Hatalar çözüldükten veya kasıtlı olarak hariç tutulduktan sonra inceleyen batch'i onaylar.
Onaylandıktan sonra sistem temiz satırları gerçek Customers tablosuna terfi ettirir ve net bir denetim izi bırakır: kim yükledi, kim onayladı, hangi kurallar çalıştı, hangi satırlar atlandı ve hangi kayıtlar oluşturuldu/güncellendi.
Yönetişim temelleri: izinler, saklama ve güvenlik
Staging güvenlik ağıdır, ama temel kurallar olmadan yine riskli olabilir: ayrım, erişim kontrolü ve temizlik gereklidir.
Staging verisini üretim tablolarından ayırın. Staging için ayrı bir şema veya veritabanı en basit desendir. Uygulamanızın staging verisini kazara okumadığından emin olun ve staging satırlarında otomatik çalışan tetikleyiciler veya background job'lar yaratmaktan kaçının.
İzinler: kim yükleyebilir, kim inceleyebilir, kim uygulayabilir
İçe aktarımlar genelde üç adımlı bir el değişimi olarak iyi çalışır. Bir hata tek kişideyken üretim olayı yaratılmaması için görevleri ayırın.
- Yükleyici: yeni batch oluşturur ve kendi yüklemelerini görebilir
- İnceleyen: önizlemeleri, hataları ve önerilen değişiklikleri görebilir
- Onaylayıcı: üretime uygulayabilir ve gerekirse geri alabilir
- Yönetici: saklama kurallarını ve denetim geçmişini yönetir
Kim yükledi, kim onayladı ve batch'in ne zaman uygulandığı kaydedilsin.
Saklama ve hassas alanlar
Staging partileri sonsuza kadar yaşamalı değildir. Staging satırlarını kısa bir süre sonra temizleyin (genelde 7–30 gün) ve sadece meta verileri daha uzun süre saklayın (dosya adı, yükleme zamanı, sayılar, kim onayladı). Başarısız veya terk edilmiş batch'leri daha kısa sürede silin.
Hassas alanlar inceleme sırasında ekstra özen ister. Önizleme kişisel veri (e-posta, telefon, adres) içeriyorsa doğrulama için gereken kadar gösterin. Varsayılan olarak değerleri maskeli gösterin, staging önizlemelerinin dışa aktarımını kısıtlayın ve token veya şifre gibi gizli bilgileri yalnızca hash'li veya şifrelenmiş tutun.
Sonraki adımlar: uygulamanıza staging iş akışı eklemek
Yanlış giderse size en çok zarar verebilecek bir içe aktarmayı seçin: bordro, faturalama, müşteri durum değişimleri, envanter sayımları veya e-posta/otomasyon tetikleyen herhangi bir şey. Tek bir iş akışıyla başlamak işi yönetilebilir kılar.
"İyi veri"nin ne anlama geldiğini yazılı hale getirin. İlk sürümü basit tutun: zorunlu alanlar, izin verilen formatlar (tarihler, telefon), benzersizlik (email veya müşteri ID) ve birkaç çapraz kontrol. Kim yükleyebilir, kim onaylar ve onay reddedilince ne olacağına karar verin.
Pratik bir dağıtım planı:
- Üretimi yansıtan staging tablosu oluşturun, artı audit alanları (uploaded_by, uploaded_at, row_status, error_message).
- Satırları üretime değil staging'e kaydeden bir yükleme adımı oluşturun.
- Hataları vurgulayan ve net sayılar (toplam, geçerli, geçersiz) gösteren bir önizleme ekranı ekleyin.
- Yüksek riskli içe aktarmalar için bir onay adımı ekleyin.
- Yalnızca doğrulanmış satırları terfi ettirin ve ne değiştiğini loglayın.
Tüm boru hattını elle kodlamadan yapmak isterseniz, AppMaster (appmaster.io) staging tabanlı içe aktarımlar için uygundur: Data Designer ile PostgreSQL'de staging tablolar modelleyebilir, Business Process Editor ile doğrulama ve terfi mantığını kurabilir ve UI oluşturucularla önizleme/onay ekranı yapabilirsiniz.
Yayına almadan önce gerçek dağınık dosyalarla test edin. Bir ekip arkadaşınızdan onların gerçekten kullandığı şekilde bir spreadsheet dışa aktarmasını isteyin ve sonra yaygın kırılmaları deneyin: ekstra sütunlar, yeniden adlandırılmış başlıklar, boş satırlar, karışık tarih formatları, ID'lerde baştaki sıfırlar ve çoğaltılmış emailler. Önizleme ne olacağını açıkça gösteriyorsa, yayınlamaya hazırsınız demektir.
SSS
Doğrudan içe aktarmayı yalnızca dosya kendi uygulamanız tarafından üretiliyorsa, şablon stabil ise, hacim küçükse ve kolayca geri alabiliyorsanız kullanın. Dosya insanlar, ortaklar veya birden fazla sistemden geliyorsa, staging genellikle daha güvenli varsayılandır çünkü hatalar canlı verilere ulaşmadan önce yakalanır.
En basit ama etkili iş akışı: dosyayı önce bir staging tablosuna yükleyin, doğrulamalar çalıştırın, satır düzeyinde hataları gösteren bir önizleme sunun ve değişiklikleri uygulamadan önce onay isteyin. Bu tek duraklama, sütun kaymaları, hatalı tarihler ve çoğaltmalar gibi sessiz sorunların üretime geçmesini genelde engeller.
En yaygın veri bozulma yolları: sütun uyuşmazlığı, karışık tarih ve sayı formatları ve çoğaltmalar. Ayrıca doğrudan içe aktarmalar toplu işlem yarıda kesildiğinde kısmi güncellemeler de yaratır; bu da veriyi tutarsız ve denetlenmesi zor hale getirir.
Elektronik tablolar veritabanlarının gözardı edemeyeceği farklılıkları gizler: fazladan boşluklar, baştaki sıfırların kaybolması, yerel ayarlara özgü ondalık ayırıcılar ve belirsiz tarihler gibi. Excel'de “doğru görünen” bir değer, içe aktarıcı tarafından farklı yorumlanıp yanlış kaydedilebilir.
Bu bağlamda staging tablosu, yüklenen satırların sistemin anladığı şekilde saklandığı geçici bir tutma tablosudur; yüklemeyle ilgili batch meta verileriyle birlikte olur. Üretim alanını yansıtmalı ama uygulama tarafından canlı veri olarak kullanılmamalıdır.
Staging'de doğrulamanız gerekenler: zorunlu alanlar, veri tipleri, izin verilen değerler ve partide benzersizlik. Ardından “bitiş tarihi başlangıçtan sonra olmalı” gibi alanlar arası kurallar ekleyin. Ayrıca CompanyID gibi referansların üretimde var olup olmadığını da doğrulayın, böylece kırık ilişkiler yaratılmaz.
Hızlı inceleme için: tanıdık bir ızgara gösterin ve önemli sütunları öne alın; satır durumu (OK/uyarı/hata) ile kısa bir hata mesajı sunun. “Sadece sorunlu” ve “sadece yeni satırlar” gibi filtreler ekleyin ve her satırın insert/update/skip olarak ne yapacağını net gösterin.
Güncelleme veya upsert için tek, sıkı bir eşleştirme anahtarı seçin ve eksik ya da çoğaltılmışsa tahmin yapmayın. Müşteri içe aktarmalarında email benzersizliği sağlanıyorsa email işe yarar; aksi halde kaynağın verdiği stabil bir dış ID kullanın ve eşleşemeyen satırları reddedin.
Her staged satırı ve her uygulanan değişikliği bir import batch ID'sine bağlayın; satır sonuçlarını (inserted, updated, skipped, failed) sebep ile kaydedin. Geri alma için küçük partilerde tek bir transaction en güvenli yoldur; büyük partilerde ise “önceki” değerleri log'layarak değişiklikleri geri alabilecek bir telafi mekanizması oluşturun.
AppMaster'da staging tabloları PostgreSQL'de modelleyin, doğrulama ve terfi mantığını Business Process olarak oluşturun ve insanların uygulamaya geçmeden önce incelemesi için bir önizleme/onay UI'sı ekleyin. AppMaster, gereksinimler değiştikçe uygulamayı yeniden üretebilmenizi sağlar, böylece kırılgan tek seferlik scriptlerden kaçınabilirsiniz.


