mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
f4debeac47
- Add "migrate" test
63 lines
1.3 KiB
Python
63 lines
1.3 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
from invoke import task
|
|
|
|
import os
|
|
|
|
def localDir():
|
|
"""
|
|
Returns the directory of *THIS* file.
|
|
Used to ensure that the various scripts always run
|
|
in the correct directory.
|
|
"""
|
|
return os.path.dirname(os.path.abspath(__file__))
|
|
|
|
def managePyDir():
|
|
"""
|
|
Returns the directory of the manage.py file
|
|
"""
|
|
|
|
return os.path.join(localDir(), 'InvenTree')
|
|
|
|
def managePyPath():
|
|
"""
|
|
Return the path of the manage.py file
|
|
"""
|
|
|
|
return os.path.join(managePyDir, 'manage.py')
|
|
|
|
def manage(c, cmd):
|
|
"""
|
|
Runs a given command against django's "manage.py" script.
|
|
|
|
Args:
|
|
c - Command line context
|
|
cmd - django command to run
|
|
"""
|
|
|
|
c.run('cd {path} && python3 manage.py {cmd}'.format(
|
|
path=managePyDir(),
|
|
cmd=cmd
|
|
))
|
|
|
|
@task
|
|
def migrate(c):
|
|
"""
|
|
Performs database migrations.
|
|
This is a critical step if the database schema have been altered!
|
|
"""
|
|
|
|
print("Running InvenTree database migrations...")
|
|
print("========================================")
|
|
|
|
manage(c, "makemigrations")
|
|
manage(c, "migrate")
|
|
manage(c, "migrate --run-syncdb")
|
|
manage(c, "check")
|
|
|
|
print("========================================")
|
|
print("InvenTree database migrations completed!")
|
|
|
|
@task
|
|
def test(c):
|
|
print("hello!") |