diff --git a/setup/migrate.py b/setup/migrate.py index cbc4b361..b7e78756 100755 --- a/setup/migrate.py +++ b/setup/migrate.py @@ -84,13 +84,22 @@ def run_migrations(): env = load_environment() migration_id_file = os.path.join(env['STORAGE_ROOT'], 'mailinabox.version') + migration_id = None if os.path.exists(migration_id_file): with open(migration_id_file) as f: - ourver = int(f.read().strip()) - else: + migration_id = f.read().strip(); + + if migration_id is None: # Load the legacy location of the migration ID. We'll drop support # for this eventually. - ourver = int(env.get("MIGRATIONID", "0")) + migration_id = env.get("MIGRATIONID") + + if migration_id is None: + print() + print("%s file doesn't exists. Skipping migration..." % (migration_id_file,)) + return + + ourver = int(migration_id) while True: next_ver = (ourver + 1) diff --git a/setup/start.sh b/setup/start.sh index 9817f49a..fa84b03d 100755 --- a/setup/start.sh +++ b/setup/start.sh @@ -109,6 +109,10 @@ fi # Create the STORAGE_ROOT if it not exists if [ ! -d $STORAGE_ROOT ]; then mkdir -p $STORAGE_ROOT +fi + +# Create mailinabox.version file if not exists +if [ ! -f $STORAGE_ROOT/mailinabox.version ]; then echo $(setup/migrate.py --current) > $STORAGE_ROOT/mailinabox.version chown $STORAGE_USER.$STORAGE_USER $STORAGE_ROOT/mailinabox.version fi