Error during ./upgrade.sh in v3.3.4 and 3.3.5 - "c.relispartition does not exist" #7095

Closed
opened 2025-12-29 20:19:14 +01:00 by adam · 0 comments
Owner

Originally created by @jasonteknut on GitHub (Oct 7, 2022).

NetBox version

v3.3.4 or v3.3.5

Python version

3.8

Steps to Reproduce

Originally upgrading from v 2.11.11 to 3.3.5, when running upgrade.sh, the process fails with:
django.db.utils.ProgrammingError: column c.relispartition does not exist
LINE 5: WHEN c.relispartition THEN 'p'

I attempted stepped upgrades as follows 2.11.11>2.11.12>3.0.0>3.0.10>3.3.4(FAIL)>3.3.5(FAIL)
All incremental steps succeeded until 3.3.4. It appears to be a database migrations issue.

Expected Behavior

Clean netbox upgrade.

Observed Behavior

Applying database migrations (python3 netbox/manage.py migrate)...
Traceback (most recent call last):
File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/db/backends/utils.py", line 87, in _execute
return self.cursor.execute(sql)
psycopg2.errors.UndefinedColumn: column c.relispartition does not exist
LINE 5: WHEN c.relispartition THEN 'p'
^

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "netbox/manage.py", line 10, in
execute_from_command_line(sys.argv)
File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/core/management/init.py", line 446, in execute_from_command_line
utility.execute()
File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/core/management/init.py", line 440, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/core/management/base.py", line 414, in run_from_argv
self.execute(*args, **cmd_options)
File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/core/management/base.py", line 460, in execute
output = self.handle(*args, **options)
File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/core/management/base.py", line 98, in wrapped
res = handle_func(*args, **kwargs)
File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/core/management/commands/migrate.py", line 108, in handle
executor = MigrationExecutor(connection, self.migration_progress_callback)
File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/db/migrations/executor.py", line 18, in init
self.loader = MigrationLoader(self.connection)
File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/db/migrations/loader.py", line 58, in init
self.build_graph()
File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/db/migrations/loader.py", line 235, in build_graph
self.applied_migrations = recorder.applied_migrations()
File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/db/migrations/recorder.py", line 81, in applied_migrations
if self.has_table():
File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/db/migrations/recorder.py", line 58, in has_table
tables = self.connection.introspection.table_names(cursor)
File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/db/backends/base/introspection.py", line 58, in table_names
return get_names(cursor)
File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/db/backends/base/introspection.py", line 51, in get_names
for ti in self.get_table_list(cursor)
File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/db/backends/postgresql/introspection.py", line 51, in get_table_list
cursor.execute(
File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/db/backends/utils.py", line 67, in execute
return self._execute_with_wrappers(
File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/db/backends/utils.py", line 80, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/db/backends/utils.py", line 89, in _execute
return self.cursor.execute(sql, params)
File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/db/utils.py", line 91, in exit
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/db/backends/utils.py", line 87, in _execute
return self.cursor.execute(sql)
django.db.utils.ProgrammingError: column c.relispartition does not exist
LINE 5: WHEN c.relispartition THEN 'p'
^

Originally created by @jasonteknut on GitHub (Oct 7, 2022). ### NetBox version v3.3.4 or v3.3.5 ### Python version 3.8 ### Steps to Reproduce Originally upgrading from v 2.11.11 to 3.3.5, when running upgrade.sh, the process fails with: django.db.utils.ProgrammingError: column c.relispartition does not exist LINE 5: WHEN c.relispartition THEN 'p' I attempted stepped upgrades as follows 2.11.11>2.11.12>3.0.0>3.0.10>3.3.4(FAIL)>3.3.5(FAIL) All incremental steps succeeded until 3.3.4. It appears to be a database migrations issue. ### Expected Behavior Clean netbox upgrade. ### Observed Behavior Applying database migrations (python3 netbox/manage.py migrate)... Traceback (most recent call last): File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/db/backends/utils.py", line 87, in _execute return self.cursor.execute(sql) psycopg2.errors.UndefinedColumn: column c.relispartition does not exist LINE 5: WHEN c.relispartition THEN 'p' ^ The above exception was the direct cause of the following exception: Traceback (most recent call last): File "netbox/manage.py", line 10, in <module> execute_from_command_line(sys.argv) File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/core/management/__init__.py", line 446, in execute_from_command_line utility.execute() File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/core/management/__init__.py", line 440, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/core/management/base.py", line 414, in run_from_argv self.execute(*args, **cmd_options) File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/core/management/base.py", line 460, in execute output = self.handle(*args, **options) File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/core/management/base.py", line 98, in wrapped res = handle_func(*args, **kwargs) File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/core/management/commands/migrate.py", line 108, in handle executor = MigrationExecutor(connection, self.migration_progress_callback) File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/db/migrations/executor.py", line 18, in __init__ self.loader = MigrationLoader(self.connection) File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/db/migrations/loader.py", line 58, in __init__ self.build_graph() File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/db/migrations/loader.py", line 235, in build_graph self.applied_migrations = recorder.applied_migrations() File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/db/migrations/recorder.py", line 81, in applied_migrations if self.has_table(): File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/db/migrations/recorder.py", line 58, in has_table tables = self.connection.introspection.table_names(cursor) File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/db/backends/base/introspection.py", line 58, in table_names return get_names(cursor) File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/db/backends/base/introspection.py", line 51, in get_names for ti in self.get_table_list(cursor) File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/db/backends/postgresql/introspection.py", line 51, in get_table_list cursor.execute( File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/db/backends/utils.py", line 67, in execute return self._execute_with_wrappers( File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/db/backends/utils.py", line 80, in _execute_with_wrappers return executor(sql, params, many, context) File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/db/backends/utils.py", line 89, in _execute return self.cursor.execute(sql, params) File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/db/utils.py", line 91, in __exit__ raise dj_exc_value.with_traceback(traceback) from exc_value File "/opt/netbox-3.3.4/venv/lib64/python3.8/site-packages/django/db/backends/utils.py", line 87, in _execute return self.cursor.execute(sql) django.db.utils.ProgrammingError: column c.relispartition does not exist LINE 5: WHEN c.relispartition THEN 'p' ^
adam closed this issue 2025-12-29 20:19:14 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#7095