squeaknode/docs/database-migration.md
Jonathan Zernik 7e848c3c39
Rename docs to kebab-case (#1800)
* Rename docs to kebab-case

* Fix link to configuration doc
2021-11-13 13:33:36 -08:00

24 lines
1,015 B
Markdown

# Database Migration
### DB migration:
Alembic is used for database migrations.
To change any database model, follow these steps.
- Make sure that you have an up-to-date squeaknode with a sqlite database.
- Make a note of the path to the ".db" sqlite database file. (Usually `~/.sqk/data/testnet/data.db` by default). If this is an initial migration, then create an empty file at this location.
- Make the changes to database models in `squeaknode/db/models.py`
- Update the `alembic.ini` file to point to the sqlite file from before:
```
sqlalchemy.url = sqlite://///home/<USER>/.sqk/data/testnet/data.db
```
- Run the command to generate a new alembic migration:
```
virtualenv venv
source venv/bin/activate
pip install -r requirements.txt
pip install -e .
alembic -c squeaknode/db/alembic.ini revision --autogenerate -m "<YOUR_MESSAGE>"
```
- To generate a new initial version revision, follow the same steps as above, but the `/home/<USER>/.sqk/data/testnet/data.db` file should be an empty file.