db: fix schema indexes and add checks
- indexes that already defined and then have definition changed are not re-evaluated on `drizzle-kit push`, but when dropping the entire schema and attempting to recreate anything, it fails. use inline sql function in the mean time (probably fixed in drizzle-kit/drizzle-orm v1 beta, upgrade currently blocked)
- add checks that some text columns are not empty strings