serial caused db:push failure on existing tables. Now uses nullable integer with app-level sequencing and startup backfill.