Basic Schema and migrations, if you don't like them then remove this commit
Boilerplate test code, not perfectly update to match schema