Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

OperationalError: no such table

So I was working on my app and added a slugfield to my models. Then as normal went ahead to makemigrations, and a massive red wall of errors appeared.

Traceback (most recent call last):
  File "C:\Users\Andreas\ReaderProject\lib\site-packages\django\db\backends\utils.py", line 64, in execute
    return self.cursor.execute(sql, params)
  File "C:\Users\Andreas\ReaderProject\lib\site-packages\django\db\backends\sqlite3\base.py", line 337, in execute
    return Database.Cursor.execute(self, query, params)
sqlite3.OperationalError: no such table: Reader_manga

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

Traceback (most recent call last):
  File "C:\Program Files (x86)\JetBrains\PyCharm 2016.2.3\helpers\pycharm\django_manage.py", line 41, in <module>
    run_module(manage_file, None, '__main__', True)
  File "C:\Users\Andreas\AppData\Local\Programs\Python\Python35-32\lib\runpy.py", line 182, in run_module
    return _run_module_code(code, init_globals, run_name, mod_spec)
  File "C:\Users\Andreas\AppData\Local\Programs\Python\Python35-32\lib\runpy.py", line 96, in _run_module_code
    mod_name, mod_spec, pkg_name, script_name)
  File "C:\Users\Andreas\AppData\Local\Programs\Python\Python35-32\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "D:/WindowsFolders/Documents/Python/ReaderProject\manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Users\Andreas\ReaderProject\lib\site-packages\django\core\management\__init__.py", line 367, in execute_from_command_line
    utility.execute()
  File "C:\Users\Andreas\ReaderProject\lib\site-packages\django\core\management\__init__.py", line 359, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\Andreas\ReaderProject\lib\site-packages\django\core\management\base.py", line 294, in run_from_argv
    self.execute(*args, **cmd_options)
  File "C:\Users\Andreas\ReaderProject\lib\site-packages\django\core\management\base.py", line 342, in execute
    self.check()
  File "C:\Users\Andreas\ReaderProject\lib\site-packages\django\core\management\base.py", line 374, in check
    include_deployment_checks=include_deployment_checks,
  File "C:\Users\Andreas\ReaderProject\lib\site-packages\django\core\management\base.py", line 361, in _run_checks
    return checks.run_checks(**kwargs)
  File "C:\Users\Andreas\ReaderProject\lib\site-packages\django\core\checks\registry.py", line 81, in run_checks
    new_errors = check(app_configs=app_configs)
  File "C:\Users\Andreas\ReaderProject\lib\site-packages\django\core\checks\urls.py", line 14, in check_url_config
    return check_resolver(resolver)
  File "C:\Users\Andreas\ReaderProject\lib\site-packages\django\core\checks\urls.py", line 24, in check_resolver
    for pattern in resolver.url_patterns:
  File "C:\Users\Andreas\ReaderProject\lib\site-packages\django\utils\functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "C:\Users\Andreas\ReaderProject\lib\site-packages\django\urls\resolvers.py", line 313, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "C:\Users\Andreas\ReaderProject\lib\site-packages\django\utils\functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "C:\Users\Andreas\ReaderProject\lib\site-packages\django\urls\resolvers.py", line 306, in urlconf_module
    return import_module(self.urlconf_name)
  File "C:\Users\Andreas\AppData\Local\Programs\Python\Python35-32\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 662, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "D:/WindowsFolders/Documents/Python/ReaderProject\ReaderProject\urls.py", line 25, in <module>
    from Reader import views
  File "D:/WindowsFolders/Documents/Python/ReaderProject\Reader\views.py", line 7, in <module>
    from .forms import UploadForm
  File "D:/WindowsFolders/Documents/Python/ReaderProject\Reader\forms.py", line 12, in <module>
    class UploadForm(forms.Form):
  File "D:/WindowsFolders/Documents/Python/ReaderProject\Reader\forms.py", line 15, in UploadForm
    for manga in mangas:
  File "C:\Users\Andreas\ReaderProject\lib\site-packages\django\db\models\query.py", line 256, in __iter__
    self._fetch_all()
  File "C:\Users\Andreas\ReaderProject\lib\site-packages\django\db\models\query.py", line 1087, in _fetch_all
    self._result_cache = list(self.iterator())
  File "C:\Users\Andreas\ReaderProject\lib\site-packages\django\db\models\query.py", line 54, in __iter__
    results = compiler.execute_sql()
  File "C:\Users\Andreas\ReaderProject\lib\site-packages\django\db\models\sql\compiler.py", line 835, in execute_sql
    cursor.execute(sql, params)
  File "C:\Users\Andreas\ReaderProject\lib\site-packages\django\db\backends\utils.py", line 79, in execute
    return super(CursorDebugWrapper, self).execute(sql, params)
  File "C:\Users\Andreas\ReaderProject\lib\site-packages\django\db\backends\utils.py", line 64, in execute
    return self.cursor.execute(sql, params)
  File "C:\Users\Andreas\ReaderProject\lib\site-packages\django\db\utils.py", line 94, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "C:\Users\Andreas\ReaderProject\lib\site-packages\django\utils\six.py", line 685, in reraise
    raise value.with_traceback(tb)
  File "C:\Users\Andreas\ReaderProject\lib\site-packages\django\db\backends\utils.py", line 64, in execute
    return self.cursor.execute(sql, params)
  File "C:\Users\Andreas\ReaderProject\lib\site-packages\django\db\backends\sqlite3\base.py", line 337, in execute
    return Database.Cursor.execute(self, query, params)
django.db.utils.OperationalError: no such table: Reader_manga

I tried to remove the field I added but no use. I've done pretty much anything that have been suggested on stackoverflow.

I also forgot to add the project to github and now don't have the original database files either.

The model that seem to be giving the error:

class Manga(models.Model):
    COMPLETED = 'COMP'
    ONGOING = 'ONG'
    STATUS_CHOICES = (
        (COMPLETED, 'Completed'),
        (ONGOING, 'Ongoing'),
    )
    JAPANESE_MANGA = 'JM'
    KOREAN_MANGA = 'KM'
    CHINESE_MANGA = 'CM'
    UNKNOWN_MANGA = 'UM'
    TYPE_CHOICES = (
        (JAPANESE_MANGA, 'Japanese Manga'),
        (KOREAN_MANGA, 'Korean Manhwa'),
        (CHINESE_MANGA, 'Chinese Manhua'),
        (UNKNOWN_MANGA, 'Unknown'),
    )
    authors = models.ManyToManyField(Author)
    genres = models.ManyToManyField(Genre)
    name = models.CharField(max_length=255, default="")
    image = models.ImageField(upload_to=upload_manga_cover)
    summary = models.TextField(max_length=1000)
    rating = models.IntegerField(default=0)
    views = models.IntegerField(default=0)
    rank = models.IntegerField(default=0)
    alt_names = models.TextField(max_length=400, default="")
    type = models.CharField(
        max_length=255,
        choices=TYPE_CHOICES,
        default=UNKNOWN_MANGA
    )
    status = models.CharField(
        max_length=255,
        choices=STATUS_CHOICES,
        default=ONGOING,
    )
    released = models.DateField()
    date_added = models.DateTimeField(auto_now_add=True)
    date_modified = models.DateTimeField(auto_now=True)
    slug = models.SlugField(unique=True)

    def __str__(self):
        return self.name

Tell me what more you need to know to be able to help and I'll add it.

like image 749
Andreas Halvorsen Tollånes Avatar asked Oct 10 '16 17:10

Andreas Halvorsen Tollånes


3 Answers

The fix for me was to run

python manage.py makemigrations app_name

instead of

python manage.py makemigrations

See this related answer: https://stackoverflow.com/a/25843194/2893090

like image 53
cs01 Avatar answered Oct 20 '22 10:10

cs01


So the fastest way to fix this issue was to just copy everything over into a new project(could probably just remove selected parts and re-add them)

Then just made the app again, copied the settings and models over. Ran makemigrations then migrate. Then I could just simply copy over the views, urls, and everything else.

What went wrong? Maybe something happened to the migrations, and doing the migrations from scratch again helped solve the problem.

like image 28
Andreas Halvorsen Tollånes Avatar answered Oct 20 '22 11:10

Andreas Halvorsen Tollånes


Run 'manage.py makemigrations' to make new migrations, and then re-run 'manage.py migrate' to apply them.

This was the tip given when I was trying to run migrate. I did the above thing and it worked for me.

like image 42
Biswajit Chopdar Avatar answered Oct 20 '22 12:10

Biswajit Chopdar