Operations to perform:
Apply all migrations: admin, auth, circuits, contenttypes, dcim, extras, ipam, secrets, sessions, taggit, tenancy, users, virtualization
Running migrations:
Applying auth.0009_alter_user_last_name_max_length...Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/django/db/backends/utils.py", line 85, in _execute
return self.cursor.execute(sql, params)
psycopg2.IntegrityError: null value in column "id" violates not-null constraint
DETAIL: Failing row contains (null, auth, 0009_alter_user_last_name_max_length, 2018-08-21 10:36:01.703745+00).
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/usr/local/lib/python3.5/dist-packages/django/core/management/__init__.py", line 371, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python3.5/dist-packages/django/core/management/__init__.py", line 365, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python3.5/dist-packages/django/core/management/base.py", line 288, in run_from_argv
self.execute(*args, **cmd_options)
File "/usr/local/lib/python3.5/dist-packages/django/core/management/base.py", line 335, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python3.5/dist-packages/django/core/management/commands/migrate.py", line 200, in handle
fake_initial=fake_initial,
File "/usr/local/lib/python3.5/dist-packages/django/db/migrations/executor.py", line 117, in migrate
state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)
File "/usr/local/lib/python3.5/dist-packages/django/db/migrations/executor.py", line 147, in _migrate_all_forwards
state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)
File "/usr/local/lib/python3.5/dist-packages/django/db/migrations/executor.py", line 250, in apply_migration
self.recorder.record_applied(migration.app_label, migration.name)
File "/usr/local/lib/python3.5/dist-packages/django/db/migrations/recorder.py", line 71, in record_applied
self.migration_qs.create(app=app, name=name)
File "/usr/local/lib/python3.5/dist-packages/django/db/models/query.py", line 417, in create
obj.save(force_insert=True, using=self.db)
File "/usr/local/lib/python3.5/dist-packages/django/db/models/base.py", line 729, in save
force_update=force_update, update_fields=update_fields)
File "/usr/local/lib/python3.5/dist-packages/django/db/models/base.py", line 759, in save_base
updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
File "/usr/local/lib/python3.5/dist-packages/django/db/models/base.py", line 842, in _save_table
result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
File "/usr/local/lib/python3.5/dist-packages/django/db/models/base.py", line 880, in _do_insert
using=using, raw=raw)
File "/usr/local/lib/python3.5/dist-packages/django/db/models/manager.py", line 82, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/django/db/models/query.py", line 1125, in _insert
return query.get_compiler(using=using).execute_sql(return_id)
File "/usr/local/lib/python3.5/dist-packages/django/db/models/sql/compiler.py", line 1285, in execute_sql
cursor.execute(sql, params)
File "/usr/local/lib/python3.5/dist-packages/django/db/backends/utils.py", line 68, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "/usr/local/lib/python3.5/dist-packages/django/db/backends/utils.py", line 77, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/usr/local/lib/python3.5/dist-packages/django/db/backends/utils.py", line 85, in _execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python3.5/dist-packages/django/db/utils.py", line 89, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/usr/local/lib/python3.5/dist-packages/django/db/backends/utils.py", line 85, in _execute
return self.cursor.execute(sql, params)
django.db.utils.IntegrityError: null value in column "id" violates not-null constraint
DETAIL: Failing row contains (null, auth, 0009_alter_user_last_name_max_length, 2018-08-21 10:36:01.703745+00).
I tried several times by restoring DB and checking if NetBox works normally. So it doesn't look like DB corruption.
- Python version: Python 3.5.2
- NetBox version: Example: 2.4.3
- Postgres is locally installed on the host.
netbox=> select id,app,name from django_migrations where app='auth';
id | app | name
----+------+------------------------------------------
2 | auth | 0001_initial
6 | auth | 0002_alter_permission_name_max_length
7 | auth | 0003_alter_user_email_max_length
8 | auth | 0004_alter_user_username_opts
9 | auth | 0005_alter_user_last_login_null
10 | auth | 0006_require_contenttypes_0002
11 | auth | 0007_alter_validators_add_error_messages
12 | auth | 0008_alter_user_username_max_length
(8 rows)vagrant@ubuntu-xenial:/opt/netbox/netbox$ python3 manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, circuits, contenttypes, dcim, extras, ipam, secrets, sessions, taggit, tenancy, users, virtualization
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying taggit.0001_initial... OK
Applying taggit.0002_auto_20150616_2121... OK
Applying tenancy.0001_initial... OK
Applying dcim.0001_initial...Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/django/db/backends/utils.py", line 83, in _execute
return self.cursor.execute(sql)
psycopg2.ProgrammingError: relation "dcim_poweroutlet" already exists
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/usr/local/lib/python3.5/dist-packages/django/core/management/__init__.py", line 371, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python3.5/dist-packages/django/core/management/__init__.py", line 365, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python3.5/dist-packages/django/core/management/base.py", line 288, in run_from_argv
self.execute(*args, **cmd_options)
File "/usr/local/lib/python3.5/dist-packages/django/core/management/base.py", line 335, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python3.5/dist-packages/django/core/management/commands/migrate.py", line 200, in handle
fake_initial=fake_initial,
File "/usr/local/lib/python3.5/dist-packages/django/db/migrations/executor.py", line 117, in migrate
state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)
File "/usr/local/lib/python3.5/dist-packages/django/db/migrations/executor.py", line 147, in _migrate_all_forwards
state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)
File "/usr/local/lib/python3.5/dist-packages/django/db/migrations/executor.py", line 244, in apply_migration
state = migration.apply(state, schema_editor)
File "/usr/local/lib/python3.5/dist-packages/django/db/migrations/migration.py", line 122, in apply
operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
File "/usr/local/lib/python3.5/dist-packages/django/db/migrations/operations/models.py", line 92, in database_forwards
schema_editor.create_model(model)
File "/usr/local/lib/python3.5/dist-packages/django/db/backends/base/schema.py", line 314, in create_model
self.execute(sql, params or None)
File "/usr/local/lib/python3.5/dist-packages/django/db/backends/base/schema.py", line 133, in execute
cursor.execute(sql, params)
File "/usr/local/lib/python3.5/dist-packages/django/db/backends/utils.py", line 68, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "/usr/local/lib/python3.5/dist-packages/django/db/backends/utils.py", line 77, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/usr/local/lib/python3.5/dist-packages/django/db/backends/utils.py", line 85, in _execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python3.5/dist-packages/django/db/utils.py", line 89, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/usr/local/lib/python3.5/dist-packages/django/db/backends/utils.py", line 83, in _execute
return self.cursor.execute(sql)
django.db.utils.ProgrammingError: relation "dcim_poweroutlet" already exists
vagrant@ubuntu-xenial:/opt/netbox/netbox$ psql -h localhost -U netbox netbox
WARNING: password file "/home/vagrant/.pgpass" has group or world access; permissions should be u=rw (0600) or less
Password for user netbox:
psql (9.5.14)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.
netbox=> select id,app,name from django_migrations where app='auth';
id | app | name
----+------+------------------------------------------
2 | auth | 0001_initial
6 | auth | 0002_alter_permission_name_max_length
7 | auth | 0003_alter_user_email_max_length
8 | auth | 0004_alter_user_username_opts
9 | auth | 0005_alter_user_last_login_null
10 | auth | 0006_require_contenttypes_0002
11 | auth | 0007_alter_validators_add_error_messages
12 | auth | 0008_alter_user_username_max_length
13 | auth | 0009_alter_user_last_name_max_length
(9 rows)psycopg2.IntegrityError: null value in column "id" violates not-null constraint
DETAIL: Failing row contains (null, auth, 0009_alter_user_last_name_max_length, 2018-08-21 10:36:01.703745+00).
vagrant@ubuntu-xenial:~$ pip3 list | grep -i django
Django 2.0.8
django-cors-headers 2.4.0
django-debug-toolbar 1.9.1
django-filter 1.1.0
django-js-asset 1.1.0
django-mptt 0.9.1
django-tables2 1.21.2
django-taggit 0.22.2
django-taggit-serializer 0.1.7
django-timezone-field 2.1
djangorestframework 3.8.1vagrant@ubuntu-xenial:~$ pip --version
pip 18.0 from /usr/local/lib/python3.5/dist-packages/pip-18.0-py3.5.egg/pip (python 3.5)netbox=> select * from django_migrations where id is null;
id | app | name | applied
----+-----+------+---------
(0 rows)
netbox=> select * from django_migrations where app='auth';
id | app | name | applied
----+------+------------------------------------------+-------------------------------
2 | auth | 0001_initial | 2018-05-07 13:00:40.909734+00
6 | auth | 0002_alter_permission_name_max_length | 2018-05-07 13:00:41.211846+00
7 | auth | 0003_alter_user_email_max_length | 2018-05-07 13:00:41.256434+00
8 | auth | 0004_alter_user_username_opts | 2018-05-07 13:00:41.285459+00
9 | auth | 0005_alter_user_last_login_null | 2018-05-07 13:00:41.330958+00
10 | auth | 0006_require_contenttypes_0002 | 2018-05-07 13:00:41.351068+00
11 | auth | 0007_alter_validators_add_error_messages | 2018-05-07 13:00:41.381616+00
12 | auth | 0008_alter_user_username_max_length | 2018-05-07 13:00:41.429842+00
(8 rows)psycopg2.IntegrityError: null value in column "id" violates not-null constraint
DETAIL: Failing row contains (null, taggit, 0001_initial, 2018-09-12 10:02:25.908032+00).netbox=> insert into django_migrations (app, name) values ('auth', '0009_alter_user_last_name_max_length');
ERROR: null value in column "id" violates not-null constraint
DETAIL: Failing row contains (null, auth, 0009_alter_user_last_name_max_length, null).