use schema instead of constraints