InvenTree/ci/check_migration_files.py
2022-05-28 19:06:07 +02:00

29 lines
660 B
Python

"""Check that there are no database migration files which have not been committed."""
import subprocess
import sys
print("Checking for unstaged migration files...")
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))