אני בונה מערכת לנדל"ן, לקוח יכול לבחור לקבל התראה על דירות חדשות לפי סינון, הוא יכול גם למחוק את הסינון. המודעות הרלוונטיות נשמרות במסד נתונים מסוים עם טלפון של הלקוח, וID של המודעה והספרה 1 בתור אינדיקציה שהיא חדשה (המבנה מאולץ בגלל שינויים הכרחיים).
הסינון יכול להיות לדוגמא. ירושלים / ירושלים + שכונה / ירושלים + שכונה + חדרים.
אם הלקוח מוחק התראה אז הוא לא ישמע יותר את המודעות הלא רלוונטיות כי מושכים את המודעות לפי הסינונים שלו ובגלל שהסינון הזה כבר לא קיים הוא לא ישמע את המודעה למרות שהיא עוד קיימת אצלו, הבאג שיכול להיווצר הוא שהוא יכול למחוק עכשיו את הסינון ועוד חודשיים להחזיר אותו, ויעלו לו גם ההודעות הישנות, שזה לא טוב. ואני לא יכול למחוק את ההודעות מהמסד נתונים בגלל שאם היו לו 2 סינונים ירושלים וירושלים + שכונה, והוא מחק רק את הירושלים + שכונה, אם נמחק את כל המודעות שלו זה ימחק גם הודעות שכן אמורות להתפס בסינון של ירושלים...
אני צריך למצוא דרך למחוק רק את ההודעות שלא אמורות להישאר בגלל שום סינון.
חשבתי לעבור על כל ההודעות שנשמרו (האפליקציה שומרת את כל המודעות של כל הסינונים, גם אם הן כפולות בגלל שיש כמה סינונים) ולראות אם יש ID כפול אז לא למחוק ואם אין ID כפול למחוק.
אני יודע שזה לא הדרך הכי טובה, אבל אני לא רוצה לשנות את כל המבנה כי אני ממש בסוף הפרוייקט ואני מאמין שאם משהו עובד - אל תיגע בו, כי תחזור כמה צעדים אחורה.
השאלה אם בכל זאות זו דרך טובה או שיש דרך אחרת.