סיוט DB - כשהאפיון הכולל הוא "שיעבוד כמו פעם"

סיפור אימה קצר…
עבדתי במקום שהחליטו להחליף את המערכת, שתהיה WEBית.
אחת מהפונקציות היתה שחנויות יכלו להזמין מוצרים מהיום למחר.
אממה, במערכת הישנה זה עבד ובמערכת החדשה - נוצרו הזמנות מחדש בלי סוף.
במערכת הישנה -
היה אתר שהחנויות נכנסו והזמינו מוצרים, אחת ל-20 דקות בערך המחשב הראשי היה מושך טבלה עם ההזמנות ומעביר.
המערכת הישנה כנראה ידעה לזהות הזמנות קיימות (אל תשאלו איך, אולי בכלל ישב מחסנאי שעבר על ההזמנות ידנית)
במערכת החדשה - כל רבע שעה - המערכת משכה את הטבלה ונוצרו הזמנות מחדש.
אז סחבק ניסה להבין איך הוא מתקן את התהליך.
פניתי לחברה שמנהלת את האתר המדובר - איך הטבלה מסודרת? איך מושכים? איך מעדכנים?
SQL.
יופי, אפשר להוסיף עמודה בסוף? בטח אין לנו בעיה.
לבחור שאחראי על המערכת החדשה - תראה, אני מוסיף עמודה בסוף הטבלה - חדש/לא חדש, העמודה תהיה ריקה, אתה מושך - תעדכן את התא ל-1 ובא שלום על ישראל.
מעדכן… הבעיה ממשיכה.
אממה? החברה שמנהלת את האתר - לא מבצעת CRUD… כל רבע שעה - מוחקת את הטבלה ומעלה את ההזמנות של היום.
אז מה עוזר להוסיף שדה ולעדכן? הוא נמחק כל רבע שעה.
הוספתי שלב ביניים - טבלה חדשה במחשב הראשי. תוכנית שעוברת על הטבלה המדוברת - ומזהה הזמנות קיימות - טבלה להזמנה, טבלה לשורות בהזמנה.
יום היה טוב ושוב חוזרות התלונות.
מה קורה אם מעדכנים הזמנה?
מה קורה אם נמחקת הזמנה?
עד איזה שעה מותר להזמין למחר?
בסוף הטבלה הכילה שעת קליטה של הזמנה, שדה מצב - הזמנה חדשה/ נקלטה/ התעדכנה/ נמחקה…

3 לייקים

תמיד להיכנס לפרויקטים חדשים יהיה קשה יותר,
בין אם בגלל חוסר מקצועיות של הצוות שלפני ובין אם בגלל הצורך להבין את הארכיטקטורה והקוד מאחורה (אם הם בכלל זמינים…)
יפה שהצלחת להתגבר על הבעיה :slight_smile:

2 לייקים