Upgrade to 3.4.1 from 3.3 failed with psycopg2.errors.UniqueViolation #7443

Closed
opened 2025-12-29 20:23:31 +01:00 by adam · 1 comment
Owner

Originally created by @ruben-herold on GitHub (Jan 2, 2023).

NetBox version

v3.3

Python version

3.8

Steps to Reproduce

Tried to Upgrade our instance and run into:

File "/opt/netbox/venv/lib64/python3.8/site-packages/django/db/backends/utils.py", line 87, in _execute
return self.cursor.execute(sql)
psycopg2.errors.UniqueViolation: could not create unique index "dcim_device_unique_name_site"
DETAIL: Key (lower(name::text), site_id)=(dus2-x-ac1, 3) is duplicated.

Expected Behavior

Upgrade runs fine or renamed objects

Observed Behavior

psycopg2.errors.UniqueViolation: could not create unique index "dcim_device_unique_name_site"
DETAIL: Key (lower(name::text), site_id)=(dus2-x-ac1, 3) is duplicated.

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/venv/lib64/python3.8/site-packages/django/core/management/init.py", line 446, in execute_from_command_line
utility.execute()
File "/opt/netbox/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/venv/lib64/python3.8/site-packages/django/core/management/base.py", line 402, in run_from_argv
self.execute(*args, **cmd_options)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/core/management/base.py", line 448, in execute
output = self.handle(*args, **options)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/core/management/base.py", line 96, in wrapped
res = handle_func(*args, **kwargs)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/core/management/commands/migrate.py", line 349, in handle
post_migrate_state = executor.migrate(
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/db/migrations/executor.py", line 135, in migrate
state = self._migrate_all_forwards(
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/db/migrations/executor.py", line 167, in _migrate_all_forwards
state = self.apply_migration(
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/db/migrations/executor.py", line 252, in apply_migration
state = migration.apply(state, schema_editor)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/db/migrations/migration.py", line 130, in apply
operation.database_forwards(
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/db/migrations/operations/models.py", line 1040, in database_forwards
schema_editor.add_constraint(model, self.constraint)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/db/backends/base/schema.py", line 515, in add_constraint
self.execute(sql, params=None)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/db/backends/base/schema.py", line 199, in execute
cursor.execute(sql, params)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/db/backends/utils.py", line 67, in execute
return self._execute_with_wrappers(
File "/opt/netbox/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/venv/lib64/python3.8/site-packages/django/db/backends/utils.py", line 89, in _execute
return self.cursor.execute(sql, params)
File "/opt/netbox/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/venv/lib64/python3.8/site-packages/django/db/backends/utils.py", line 87, in _execute
return self.cursor.execute(sql)
django.db.utils.IntegrityError: could not create unique index "dcim_device_unique_name_site"
DETAIL: Key (lower(name::text), site_id)=(dus2-x-ac1, 3) is duplicated.

Originally created by @ruben-herold on GitHub (Jan 2, 2023). ### NetBox version v3.3 ### Python version 3.8 ### Steps to Reproduce Tried to Upgrade our instance and run into: File "/opt/netbox/venv/lib64/python3.8/site-packages/django/db/backends/utils.py", line 87, in _execute return self.cursor.execute(sql) psycopg2.errors.UniqueViolation: could not create unique index "dcim_device_unique_name_site" DETAIL: Key (lower(name::text), site_id)=(dus2-x-ac1, 3) is duplicated. ### Expected Behavior Upgrade runs fine or renamed objects ### Observed Behavior psycopg2.errors.UniqueViolation: could not create unique index "dcim_device_unique_name_site" DETAIL: Key (lower(name::text), site_id)=(dus2-x-ac1, 3) is duplicated. 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/venv/lib64/python3.8/site-packages/django/core/management/__init__.py", line 446, in execute_from_command_line utility.execute() File "/opt/netbox/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/venv/lib64/python3.8/site-packages/django/core/management/base.py", line 402, in run_from_argv self.execute(*args, **cmd_options) File "/opt/netbox/venv/lib64/python3.8/site-packages/django/core/management/base.py", line 448, in execute output = self.handle(*args, **options) File "/opt/netbox/venv/lib64/python3.8/site-packages/django/core/management/base.py", line 96, in wrapped res = handle_func(*args, **kwargs) File "/opt/netbox/venv/lib64/python3.8/site-packages/django/core/management/commands/migrate.py", line 349, in handle post_migrate_state = executor.migrate( File "/opt/netbox/venv/lib64/python3.8/site-packages/django/db/migrations/executor.py", line 135, in migrate state = self._migrate_all_forwards( File "/opt/netbox/venv/lib64/python3.8/site-packages/django/db/migrations/executor.py", line 167, in _migrate_all_forwards state = self.apply_migration( File "/opt/netbox/venv/lib64/python3.8/site-packages/django/db/migrations/executor.py", line 252, in apply_migration state = migration.apply(state, schema_editor) File "/opt/netbox/venv/lib64/python3.8/site-packages/django/db/migrations/migration.py", line 130, in apply operation.database_forwards( File "/opt/netbox/venv/lib64/python3.8/site-packages/django/db/migrations/operations/models.py", line 1040, in database_forwards schema_editor.add_constraint(model, self.constraint) File "/opt/netbox/venv/lib64/python3.8/site-packages/django/db/backends/base/schema.py", line 515, in add_constraint self.execute(sql, params=None) File "/opt/netbox/venv/lib64/python3.8/site-packages/django/db/backends/base/schema.py", line 199, in execute cursor.execute(sql, params) File "/opt/netbox/venv/lib64/python3.8/site-packages/django/db/backends/utils.py", line 67, in execute return self._execute_with_wrappers( File "/opt/netbox/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/venv/lib64/python3.8/site-packages/django/db/backends/utils.py", line 89, in _execute return self.cursor.execute(sql, params) File "/opt/netbox/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/venv/lib64/python3.8/site-packages/django/db/backends/utils.py", line 87, in _execute return self.cursor.execute(sql) django.db.utils.IntegrityError: could not create unique index "dcim_device_unique_name_site" DETAIL: Key (lower(name::text), site_id)=(dus2-x-ac1, 3) is duplicated.
adam closed this issue 2025-12-29 20:23:32 +01:00
Author
Owner

@jeremystretch commented on GitHub (Jan 3, 2023):

You have multiple devices assigned to site 3 with the variations of the name dus2-x-ac1. This is preventing the migration from completing.

@jeremystretch commented on GitHub (Jan 3, 2023): You have multiple devices assigned to site 3 with the variations of the name `dus2-x-ac1`. This is preventing the migration from completing.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#7443