How to recover Django databases after accidentally deleting the sqlite db file? -


problem

ok part of stupidity , instead doing 'flush' , deleted sqlite.db file under django project directory. after none of db commands working, ex,

error log

python manage.py showmigrations                                                                                                                                                           traceback (most recent call last): file "manage.py", line 10, in <module> execute_from_command_line(sys.argv) file "django/lib/python3.4/site-            packages/django/core/management/__init__.py", line 353, in  execute_from_command_line utility.execute() file "django/lib/python3.4/site-packages/django/core/management/__init__.py", line 345, in execute self.fetch_command(subcommand).run_from_argv(self.argv) file "django/lib/python3.4/site-packages/django/core/management/base.py", line 348, in run_from_argv self.execute(*args, **cmd_options) file "django/lib/python3.4/site-packages/django/core/management/base.py", line 399, in execute output = self.handle(*args, **options) file "django/lib/python3.4/site-packages/django/core/management/commands/showmigrations.py", line 36, in handle return self.show_list(connection, options['app_labels']) file "django/lib/python3.4/site- packages/django/core/management/commands/showmigrations.py", line 44, in   show_list loader = migrationloader(connection, ignore_no_migrations=true) file "django/lib/python3.4/site-packages/django/db/migrations/loader.py", line 49, in __init__ self.build_graph() file "django/lib/python3.4/site-packages/django/db/migrations/loader.py", line 176, in build_graph self.applied_migrations = recorder.applied_migrations() file "django/lib/python3.4/site-packages/django/db/migrations/recorder.py", line 65, in applied_migrations self.ensure_schema() file "django/lib/python3.4/site-packages/django/db/migrations/recorder.py", line 56, in ensure_schema self.connection.schema_editor() editor: file "django/lib/python3.4/site-packages/django/db/backends/sqlite3/schema.py", line 25, in __enter__ self._initial_pragma_fk = c.fetchone()[0] 

similar commands

all of these commands failing similar reason \b


makemigrations migrate

solution

changing line 25 of django/db/backends/sqlite3/schema.py this;


self._initial_pragma_fk = c.fetchone()[0] 

to this


self._initial_pragma_fk = 0  # c.fetchone()[0] 

enables proceed migration.

https://code.djangoproject.com/ticket/26205?cversion=0&cnum_hist=2