Semantically versioned PostgreSQL migrations