W aplikacji miałam problem z kaskadowym usuwaniem rekordów z tabelek. Podczas usuwania posiłków z bazy, w tabelkach z zaplanowanymi obiadami wisiały stare wpisy. To powodowało, że kiedy dodawałam kolejne posiłki to od razu pojawiały się one na liście obiadów. Trzeba było to naprawić.
Okazało się, że domyślnie SQLite nie obsługuje kluczy obcych… cóż, na szczęście można to zmienić za pomocą jednej instrukcji sql. Na nieszczęście trzeba ją wysyłać przy każdym otwarciu bazy danych…
https://gist.github.com/jezinka/83f4a51f1f0374545f86e11662f8d9ed
Więcej o użyciu PRAGMA tutaj. Według tej strony podejście do kluczy obcych może się zmienić w przyszłych wersjach SQLite’a. Oby 🙂