Skip to content

CMS Migration Fails on New CMS #931

@wesleyboar

Description

@wesleyboar

Describe the bug
Running migration on a brand new CMS causes error.

To Reproduce
Steps to reproduce the behavior:

  1. Delete all Docker containers, volumes, builds relevant to Core-CMS.
  2. Follow README to create new isntance.
  3. When instructed, in the CMS container, run python3 manage.py migrate.
  4. Migration fails.

Expected behavior
Migration succeeds.

Screenshots

Log Output
Running migrations:
  Applying taccsite_cms.0001_add_groups...Traceback (most recent call last):
  File "/code/manage.py", line 22, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.11/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.11/site-packages/django/core/management/__init__.py", line 436, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python3.11/site-packages/django/core/management/base.py", line 412, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/local/lib/python3.11/site-packages/django/core/management/base.py", line 458, in execute
    output = self.handle(*args, **options)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/core/management/base.py", line 106, in wrapper
    res = handle_func(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/core/management/commands/migrate.py", line 356, in handle
    post_migrate_state = executor.migrate(
                         ^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/db/migrations/executor.py", line 135, in migrate
    state = self._migrate_all_forwards(
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/db/migrations/executor.py", line 167, in _migrate_all_forwards
    state = self.apply_migration(
            ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/db/migrations/executor.py", line 252, in apply_migration
    state = migration.apply(state, schema_editor)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/db/migrations/migration.py", line 132, in apply
    operation.database_forwards(
  File "/usr/local/lib/python3.11/site-packages/django/db/migrations/operations/special.py", line 193, in database_forwards
    self.code(from_state.apps, schema_editor)
  File "/code/taccsite_cms/migrations/0001_add_groups.py", line 11, in add_groups
    add_text_editor_basic()
  File "/code/taccsite_cms/management/commands/group_perms/text_editor_basic.py", line 21, in set_group_perms
    let_view_page_and_structure(group)
  File "/code/taccsite_cms/management/commands/util.py", line 44, in let_view_page_and_structure
    add_perm(group, 'cms', 'page', 'Can view page')
  File "/code/taccsite_cms/management/commands/util.py", line 26, in add_perm
    Permission.objects.get(
  File "/usr/local/lib/python3.11/site-packages/django/db/models/manager.py", line 87, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/db/models/query.py", line 637, in get
    raise self.model.DoesNotExist(
django.contrib.auth.models.Permission.DoesNotExist: Permission matching query does not exist.
root@b8ef2d5d194f:/code# ./manage.py migrate taccsite_cms zero

Workaround

For A Brand New CMS:

  1. Remove any existing new CMS e.g.
    How to Setup CMS From Scratch? #942
  2. Make sure this PR is up-to-date with main:
  3. Copy over its changes:
    git diff --name-only origin/fix/gh-931-cms-migrate-fail..origin/main | xargs git restore --source=origin/fix/gh-931-cms-migrate-fail --
  4. Create CMS.

For An Existing CMS That You Have Upgraded:

  1. In the CMS container, run:
    python3 manage.py createsuperuser
    python3 manage.py migrate

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions