Apply updates to build process and simplify setup.py script.
Update requirements.
Add migrations with Alembic, temporarily remove indices, and restruction model definitions.