from django.core import management import common from autotest_lib.frontend import settings from autotest_lib.database import db_utils AFE_MIGRATION_NAME = '059_drone_sets_permissions' migrations_module = __import__('autotest_lib.frontend.migrations', globals(), locals(), [AFE_MIGRATION_NAME]) migration_059 = getattr(migrations_module, AFE_MIGRATION_NAME) def migrate_up(manager): """ If the auth tables don't exist, we shouldn't try to set the permissions. See migration 059 """ if db_utils.auth_tables_exist(manager): management.setup_environ(settings) # These have to be imported after the environment is set up from django.contrib.contenttypes import management as content_management from django.contrib.auth import management as auth_management from django.db import models as db_models content_management.update_all_contenttypes() for app in db_models.get_apps(): auth_management.create_permissions(app, None, 2) manager.execute_script(migration_059.UP_SQL) def migrate_down(manager): if db_utils.auth_tables_exist(manager): manager.execute_script(migration_059.DOWN_SQL)