diff --git a/README.md b/README.md index 8c976e1d..20fa636b 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ To start working on the project, just run the following commands: virtualenv --clear --python=python3 env_sith source env_sith/bin/activate pip install -r requirements.txt - ./manage.py migrate + ./manage.py setup To load some initial data in the core: @@ -19,7 +19,7 @@ You will be prompted for your Gitlab account, so you need some. To start the debug server, just run `python3 manage.py runserver` #### Dependencies: - * Django + * Django 1.8 The development is done with sqlite, but it is advised to set a more robust DBMS for production (Postgresql for example) diff --git a/core/management/commands/setup.py b/core/management/commands/setup.py index ac690fd6..90e10008 100755 --- a/core/management/commands/setup.py +++ b/core/management/commands/setup.py @@ -1,3 +1,4 @@ +import os from django.core.management.base import BaseCommand, CommandError from django.core.management import call_command from core.models import Group, User @@ -5,10 +6,12 @@ from core.models import Group, User class Command(BaseCommand): help = "Set up a new instance of the Sith AE" + def add_arguments(self, parser): + parser.add_argument('--prod', action="store_true") + def handle(self, *args, **options): try: - # TODO: really remove the DB, to make sure all the tables and indexes are dropped - call_command('flush', '--noinput', '--no-initial-data') + os.unlink(os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__)))), 'db.sqlite3')) except: pass call_command('migrate') @@ -23,4 +26,12 @@ class Command(BaseCommand): Group(name="bureau_restreint_ae").save() Group(name="bureau_ae").save() Group(name="membre_ae").save() + if not options['prod']: + print("Dev mode, adding some test data") + u = User(username='skia', last_name="Kia", first_name="S'", + email="skia@git.an", + date_of_birth="1942-06-12T00:00:00+01:00", + is_superuser=True, is_staff=True) + u.set_password("plop") + u.save()