Используя Python 3 / Django, как экспортировать данные таблицы MySql в виде файла YAML? - PullRequest
0 голосов
/ 01 февраля 2020

Я использую Python 3,7, Django 2,0 с MySql 5,7. У меня есть таблица InnoDB

mysql> show create table address_country;
+-----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table           | Create Table                                                                                                                                                                                                                                                                                        |
+-----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| address_country | CREATE TABLE `address_country` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(40) COLLATE utf8_bin NOT NULL,
  `code` varchar(2) COLLATE utf8_bin NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=499 DEFAULT CHARSET=utf8 COLLATE=utf8_bin |
+-----------------+--------------------------------------------------------

Как экспортировать данные таблицы в виде файла YAML? Я бы предпочел разработать решение, которое не будет жестко кодировать ни одно из имен или столбцов таблицы MySql, но на данном этапе любое решение лучше, чем отсутствие решения.

1 Ответ

1 голос
/ 02 февраля 2020

Django предоставляет команду управления dumpdata только для этой цели:

python manage.py dumpdata address.Country --format yaml

(Предполагается, что модель управляется Django. Если это не так, вы можете по-прежнему создайте неуправляемую модель для ссылки на таблицу, а затем используйте эту команду).

...