def create_public_user(apps, schema_editor): # Create public user username = settings.PUBLIC_ROLE email = settings.PUBLIC_ROLE_EMAIL users = User.objects.filter(username=username) dh_user_exists = False if len(users) > 0: dh_user_exists = True db_exists = DataHubManager.database_exists(username) db_role_exists = DataHubManager.user_exists(username) user_data_folder_exists = DataHubManager.user_data_folder_exists(username) # try to create the django user. Get the password from them password = None if not dh_user_exists: password = User.objects.create_user(username=username, email=email, password=None).password # try to create the db role if not db_role_exists: DataHubManager.create_user(username=username, password=password, create_db=False) # try to create the db if not db_exists: DataHubManager.create_user_database(username=username) # delete any user data folder that exists if user_data_folder_exists: DataHubManager.delete_user_data_folder(username)