mitshel / sopds

Simple opds catalog
http://www.sopds.ru/
Other
219 stars 81 forks source link

MySQL Ошибка при Clear book database. #47

Closed HalfWorm closed 2 years ago

HalfWorm commented 5 years ago

При очистки MySQL БД с помощью команды 'python3 manage.py sopds_util clear' Выдает ошибку Traceback (most recent call last): File "manage.py", line 10, in execute_from_command_line(sys.argv) File "/usr/local/lib/python3.7/site-packages/django/core/management/init.py", line 381, in execute_from_command_line utility.execute() File "/usr/local/lib/python3.7/site-packages/django/core/management/init.py", line 375, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/usr/local/lib/python3.7/site-packages/django/core/management/base.py", line 316, in run_from_argv self.execute(*args, *cmd_options) File "/usr/local/lib/python3.7/site-packages/django/core/management/base.py", line 353, in execute output = self.handle(args, **options) File "/home/baks/sopds/opds_catalog/management/commands/sopds_util.py", line 30, in handle self.clear() File "/home/baks/sopds/opds_catalog/management/commands/sopds_util.py", line 49, in clear opdsdb.clear_all(self.verbose) File "/home/baks/sopds/opds_catalog/opdsdb.py", line 59, in clear_all cursor.execute('delete from opds_catalog_bseries') File "/usr/local/lib/python3.7/site-packages/django/db/backends/utils.py", line 100, in execute return super().execute(sql, params) File "/usr/local/lib/python3.7/site-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.7/site-packages/django/db/backends/utils.py", line 77, in _execute_with_wrappers return executor(sql, params, many, context) File "/usr/local/lib/python3.7/site-packages/django/db/backends/utils.py", line 83, in _execute return self.cursor.execute(sql) File "/usr/local/lib/python3.7/site-packages/django/db/backends/mysql/base.py", line 71, in execute return self.cursor.execute(query, args) File "/usr/local/lib64/python3.7/site-packages/MySQLdb/cursors.py", line 206, in execute res = self._query(query) File "/usr/local/lib64/python3.7/site-packages/MySQLdb/cursors.py", line 312, in _query db.query(q) File "/usr/local/lib64/python3.7/site-packages/MySQLdb/connections.py", line 224, in query _mysql.connection.query(self, query) KeyboardInterrupt

В конфиге 'settings.py' прописаны настройки БД ... DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'sopds', 'HOST': 'localhost', 'USER': 'sopds', 'PASSWORD' : 'sopds', 'OPTIONS' : { 'init_command': """SET default_storage_engine=INNODB; \ SET sql_mode='STRICT_TRANS_TABLES'; \ SET NAMES UTF8 COLLATE utf8_general_ci; \ SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED """ } } } ...

gyunaev commented 5 years ago

То же самое с sqlite с последней git версией, если ставить программу с нуля:

> python3 manage.py sopds_util clear
Clear book database.
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 83, in _execute
    return self.cursor.execute(sql)
  File "/usr/lib/python3.6/site-packages/django/db/backends/sqlite3/base.py", line 301, in execute
    return Database.Cursor.execute(self, query)
sqlite3.OperationalError: no such table: main.opds_catalog_series__old

python3 manage.py migrate отрабатывает без ошибок.

python3 manage.py sopds_util clear выдает ошибку выше. Скан после этого не работает, с той же самой ошибкой.

bravo321 commented 4 years ago

Год прошел, ошибка на месте :(

HalfWorm commented 3 years ago

Плюнул теперь просто базу ручками очищаю, через sql консоль и заново инициализирую.

HalfWorm commented 2 years ago

python3 manage.py sopds_util clear --verbose Решает эту проблему