I'm using my complex jobs app in production and it works fine, with sqlite database. I'm trying to create new database from scratch and I cannot do that nor using migrations nor trying to make them once again:
When I'm trying to reuse my migrations:
rm db.sqlite3
python manage.py migrate
Traceback (most recent call last):
File "/backend/server/manage.py", line 22, in <module>
main()
File "/backend/server/manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "/backend/env/lib/python3.10/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
utility.execute()
File "/backend/env/lib/python3.10/site-packages/django/core/management/__init__.py", line 377, in execute
django.setup()
File "/backend/env/lib/python3.10/site-packages/django/__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "/backend/env/lib/python3.10/site-packages/django/apps/registry.py", line 122, in populate
app_config.ready()
File "/backend/env/lib/python3.10/site-packages/django/contrib/admin/apps.py", line 24, in ready
self.module.autodiscover()
File "/backend/env/lib/python3.10/site-packages/django/contrib/admin/__init__.py", line 24, in autodiscover
autodiscover_modules('admin', register_to=site)
File "/backend/env/lib/python3.10/site-packages/django/utils/module_loading.py", line 47, in autodiscover_modules
import_module('%s.%s' % (app_config.name, module_to_search))
File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/backend/server/jobs/admin.py", line 57, in <module>
class TagCategoryDefaultImportanceAdmin(admin.TabularInline):
File "/backend/server/jobs/admin.py", line 59, in TagCategoryDefaultImportanceAdmin
extra = len(Role.objects.all())
File "/backend/env/lib/python3.10/site-packages/django/db/models/query.py", line 269, in __len__
self._fetch_all()
File "/backend/env/lib/python3.10/site-packages/django/db/models/query.py", line 1303, in _fetch_all
self._result_cache = list(self._iterable_class(self))
File "/backend/env/lib/python3.10/site-packages/django/db/models/query.py", line 53, in __iter__
results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
File "/backend/env/lib/python3.10/site-packages/django/db/models/sql/compiler.py", line 1156, in execute_sql
cursor.execute(sql, params)
File "/backend/env/lib/python3.10/site-packages/django/db/backends/utils.py", line 98, in execute
return super().execute(sql, params)
File "/backend/env/lib/python3.10/site-packages/django/db/backends/utils.py", line 66, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "/backend/env/lib/python3.10/site-packages/django/db/backends/utils.py", line 75, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/backend/env/lib/python3.10/site-packages/django/db/backends/utils.py", line 79, in _execute
with self.db.wrap_database_errors:
File "/backend/env/lib/python3.10/site-packages/django/db/utils.py", line 90, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/backend/env/lib/python3.10/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "/backend/env/lib/python3.10/site-packages/django/db/backends/sqlite3/base.py", line 413, in execute
return Database.Cursor.execute(self, query, params)
django.db.utils.OperationalError: no such table: jobs_role
When I've tried to remove all migration files:
mv jobs/migrations jobs/old_migrations
rm -Rf db.sqlite3
python manage.py makemigrations
Traceback (most recent call last):
File "/backend/server/manage.py", line 22, in <module>
main()
File "/backend/server/manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "/backend/env/lib/python3.10/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
utility.execute()
File "/backend/env/lib/python3.10/site-packages/django/core/management/__init__.py", line 377, in execute
django.setup()
File "/backend/env/lib/python3.10/site-packages/django/__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "/backend/env/lib/python3.10/site-packages/django/apps/registry.py", line 122, in populate
app_config.ready()
File "/backend/env/lib/python3.10/site-packages/django/contrib/admin/apps.py", line 24, in ready
self.module.autodiscover()
File "/backend/env/lib/python3.10/site-packages/django/contrib/admin/__init__.py", line 24, in autodiscover
autodiscover_modules('admin', register_to=site)
File "/backend/env/lib/python3.10/site-packages/django/utils/module_loading.py", line 47, in autodiscover_modules
import_module('%s.%s' % (app_config.name, module_to_search))
File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/backend/server/jobs/admin.py", line 57, in <module>
class TagCategoryDefaultImportanceAdmin(admin.TabularInline):
File "/backend/server/jobs/admin.py", line 59, in TagCategoryDefaultImportanceAdmin
extra = len(Role.objects.all())
File "/backend/env/lib/python3.10/site-packages/django/db/models/query.py", line 269, in __len__
self._fetch_all()
File "/backend/env/lib/python3.10/site-packages/django/db/models/query.py", line 1303, in _fetch_all
self._result_cache = list(self._iterable_class(self))
File "/backend/env/lib/python3.10/site-packages/django/db/models/query.py", line 53, in __iter__
results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
File "/backend/env/lib/python3.10/site-packages/django/db/models/sql/compiler.py", line 1156, in execute_sql
cursor.execute(sql, params)
File "/backend/env/lib/python3.10/site-packages/django/db/backends/utils.py", line 98, in execute
return super().execute(sql, params)
File "/backend/env/lib/python3.10/site-packages/django/db/backends/utils.py", line 66, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "/backend/env/lib/python3.10/site-packages/django/db/backends/utils.py", line 75, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/backend/env/lib/python3.10/site-packages/django/db/backends/utils.py", line 79, in _execute
with self.db.wrap_database_errors:
File "/backend/env/lib/python3.10/site-packages/django/db/utils.py", line 90, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/backend/env/lib/python3.10/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "/backend/env/lib/python3.10/site-packages/django/db/backends/sqlite3/base.py", line 413, in execute
return Database.Cursor.execute(self, query, params)
django.db.utils.OperationalError: no such table: jobs_role
How can I investigate what is going on? Where is the problem with jobs_role table?
It figures out, that problem is related to my admin.py file
class TagCategoryDefaultImportanceAdmin(admin.TabularInline):
model = TagCategoryDefaultImportance
extra = len(Role.objects.all())
max_num = len(Role.objects.all())
formset = TagCategoryDefaultImportanceAdminFormse
The extra and max_num fields cause the issue. How can I handle that in a correct manner?