I love using the database as the source of truth for data consistency, and constraining your data to only be allowed in your database as long as it's in a valid state.
It's easy enough to replicate those constraints to the client if you want the client to do ahead of time validation, but your source of truth lives in the database...
I have bad news for you [0] about SQLite’s view on schema consistency.
[0]: https://www.sqlite.org/quirks.html