我正在使用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 表名或列进行硬编码的解决方案,但此时任何解决方案都比没有解决方案好。
Django 提供了 dumpdata management 命令来实现这个目的:
python manage.py dumpdata address.Country --format yaml
(这假设模型由 Django 管理。如果不是,仍可以创建非托管模型来引用表,然后使用此命令(。