From e781202daaf67e4e05cfb4ad11c6a344f9446405 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Sun, 15 Sep 2019 23:42:36 +1000 Subject: [PATCH] Add script --- .travis.yml | 2 +- ci/check_migration_files.py | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 ci/check_migration_files.py diff --git a/.travis.yml b/.travis.yml index 850e915d16..1f586dfcb6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,7 +15,7 @@ before_install: - cd InvenTree && python3 manage.py createsuperuser --username InvenTreeAdmin --email admin@inventree.com --noinput && cd .. script: - - python3 ci\check_migration_files.py + - python3 ci/check_migration_files.py - make coverage - make style diff --git a/ci/check_migration_files.py b/ci/check_migration_files.py new file mode 100644 index 0000000000..5d0da79142 --- /dev/null +++ b/ci/check_migration_files.py @@ -0,0 +1,29 @@ +""" Check that there are no database migration files which have not been committed. """ + +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +import sys +import subprocess + +cmd = ['git', 'ls-files', '--exclude-standard', '--others'] + +proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + +out, err = proc.communicate() + +migrations = [] + +for line in str(out.decode()).split('\n'): + if '/migrations/' in line: + migrations.append(line) + +if len(migrations) == 0: + sys.exit(0) + +print("There are {n} unstaged migration files:".format(n=len(migrations))) + +for m in migrations: + print(" - {m}".format(m=m)) + +sys.exit(len(migrations)) \ No newline at end of file