sqlite contraints only need to be called once