Разрабатываю приложение на Flask.
Сейчас использую SQLite, но т.к. нахожусь в стадии разработки, часто требуется менять структуру таблиц, а это сложно, учитывая ограничения SQLite
Решил перейти на MySQL.
На сетевом сервере, крутится XAMMP. Хочу его использовать.
Но, возникла проблема с переносом через git актуальной базы данных. С SQLite проблем нет, т.к. один файл.
Решил сделать через дамп БД MySQL. Погуглил, везде приводят в пример использование mysqldump. Но у меня приложение локально в venv на одном ПК, а БД в сети на другом ПК.
Как сделать дамп MySQL с удалённого сетевого ПК(сервера) средствами Python3?
Ну и конечно же - как развернуть дамп на нужный сервер MySQL?
mysqldump: можно вызывать из шелл скрипта при деплой. Если хочется - то и из python должно работать. Используйте full path к mysqldump, и проверьте, что пользователь имеет право создавать файл.
Развернуть: mysql db_name <dump-name.sql
Слегка офтопик: саму базу не стоит хранить в git. Правильнее хранить структуру, плюс seed data. А изменения оформлять как миграции. Посмотрите например на https://www.liquibase.org/