35 lines
1.2 KiB
Python
35 lines
1.2 KiB
Python
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)
|