aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.rst5
-rw-r--r--Makefile5
-rw-r--r--docs/contributing.rst17
3 files changed, 25 insertions, 2 deletions
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index b184203..69fe0fc 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -6,7 +6,10 @@ This document describes changes between each past release.
3.1 (unreleased)
----------------
-- Nothing changed yet.
+Added
+=====
+
+- Document database migrations (#390)
3.0 (2018-11-25)
diff --git a/Makefile b/Makefile
index 8c48ed4..1f36a84 100644
--- a/Makefile
+++ b/Makefile
@@ -61,6 +61,11 @@ create-database-revision: ## Create a new database revision
@read -p "Please enter a message describing this revision: " rev_message; \
$(PYTHON) -m ihatemoney.manage db migrate -d ihatemoney/migrations -m "$${rev_message}"
+.PHONY: create-empty-database-revision
+create-empty-database-revision: ## Create an empty database revision
+ @read -p "Please enter a message describing this revision: " rev_message; \
+ $(PYTHON) -m ihatemoney.manage db revision -d ihatemoney/migrations -m "$${rev_message}"
+
.PHONY: build-requirements
build-requirements: ## Save currently installed packages to requirements.txt
$(VIRTUALENV) $(TEMPDIR)
diff --git a/docs/contributing.rst b/docs/contributing.rst
index 1944d67..bcb3f16 100644
--- a/docs/contributing.rst
+++ b/docs/contributing.rst
@@ -39,7 +39,6 @@ Accessing dev server
In any case, you can point your browser at `http://localhost:5000 <http://localhost:5000>`_.
It's as simple as that!
-
Updating
--------
@@ -47,6 +46,22 @@ In case you want to update to newer versions (from git), you can just run the "u
make update
+Create database migrations
+--------------------------
+
+In case you need to modify the database schema, first update the models in ihatemoney/models.py.
+Then run the following command to create a new database revision file::
+
+ make create-database-revision
+
+If your changes are simple enough, the generated script will be populated with
+the necessary migrations steps. You can edit the generated script. eg: to add data migrations.
+
+For complex migrations, it is recommended to start from an empty revision file which can be created
+with the following command::
+
+ make create-empty-database-revision
+
Useful settings
----------------