Описание: После загрузки mysql "site_dump.sql" на сервер MySQL и применения надлежащих настроек для указания на базу данных я получаю сообщение об ошибке "Таблица не существует"
Сведения об ошибке: ProgrammingError: (1146, "Таблица "valuation.Evaluator_skill" не существует ")
Наблюдения: только таблица User показывает все данные, которые у меня были. Все остальные таблицы выдают ту же ошибку. Если я вхожу в оболочку MySQL, использую эту новую базу данных и вижу данные таблиц, все таблицы и их данные присутствуют.
Что я сделал точно:
На моем локальном ПК взял дамп sql следующим образом:
mysqldump -u root -p --db_name баз данных> mysite_26_11_2018.sql
Скопировал этот файл на сервер.
Запустил оболочку MySQL на сервере, используя имя пользователя root, и создал новую базу данных:
mysql> создать базу данных db_server;
Затем по приглашению загрузил скопированную базу данных следующим образом:
mysql -u root -p db_server <mysite_26_11_2018.sql
Снова войдите в MySQL и выполните следующие действия:
mysql> создать пользователя server_admin, идентифицированного как 'admin_password';
mysql> предоставить все на db_server. * для 'server_admin' @'%';
mysql> сброс привилегий;
Что я пробовал: - 1) Побежал makemigrations и мигрируют, но без изменений.
2) Проверено с помощью оболочки MySQL, что все данные присутствуют в БД.
3) Проверено с помощью оболочки django, что все данные пользователя присутствуют, но все остальные таблицы выдают ту же ошибку.
Наконец-то решил. Проблема заключалась в том, что все таблицы автоматически обрабатывались в нижнем регистре при создании файла дампа. Я должен был изменить каждое имя таблицы, и тогда все работало нормально.
ALTER TABLE oldtable RENAME TO Oldtable;
django
и вы, вероятно, получите необходимую помощь. PS. Миграции django не являются волшебными - он просматривает таблицу с именемdjango_migrations
и, если имя миграции присутствует, django считает, что она применяется (она НЕ сканирует схему базы данных и сравнивает ее и ... нет. просто нет.). Ваш вопрос звучит для меня так, будто вы не смогли сбросить все необходимые таблицы.