InvenTree/.github/scripts/check_migration_files.py

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))