Python 从迁移生成带有注释的create table sql

Python 从迁移生成带有注释的create table sql,python,django,Python,Django,我搜索了Django的文档,但找不到任何关于向Django的makemigrations和migrate命令生成的sql添加注释的信息 是否有任何方法可以生成这样的sql。因为我的大学坚持认为,他不需要阅读我的代码,只需要使用SHOW CREATE TABLE语法就可以知道字段的含义。 他正在做另一个项目,只需要从同一个数据库中读取数据 CREATE TABLE `gateway_order` ( `id` int(11) NOT NULL AUTO_INCREMENT, /* Order

我搜索了Django的文档,但找不到任何关于向Django的
makemigrations
migrate
命令生成的sql添加注释的信息

是否有任何方法可以生成这样的sql。因为我的大学坚持认为,他不需要阅读我的代码,只需要使用
SHOW CREATE TABLE
语法就可以知道字段的含义。 他正在做另一个项目,只需要从同一个数据库中读取数据

CREATE TABLE `gateway_order` (
  `id` int(11) NOT NULL AUTO_INCREMENT,  /* Order id */
  `updated_datetime` datetime NOT NULL,  /* Latest update time of order */
  `created_datetime` datetime NOT NULL,  /* Created time of order */
  `product_name` varchar(255) NOT NULL,
  `description` varchar(255) DEFAULT NULL,
  `user_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
) ENGINE=InnoDB AUTO_INCREMENT=34848 DEFAULT CHARSET=utf8;

我正在寻找一种在Django中实现这种功能的方法,但发现Django没有也不会有此功能:请参阅:

因此,只需使用以下命令输出Django生成的SQL

python manage.py sqlmigrate app 0001 > app001.sql
接下来,编辑
app001.sql
为sql语句添加注释,如下所示:

CREATE TABLE `gateway_order` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT "Order id",
  `updated_datetime` datetime NOT NULL COMMENT "Latest update time of order",
  `created_datetime` datetime NOT NULL COMMENT "Created time of order",
  `product_name` varchar(255) NOT NULL,
  `description` varchar(255) DEFAULT NULL,
  `user_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
) ENGINE=InnoDB AUTO_INCREMENT=34848 DEFAULT CHARSET=utf8;
然后将SQL导入数据库

mysql -h127.0.0.1 -uroot -p --database yourdb < app001.sql
告诉Django,您已经在数据库中创建了SQL

CREATE TABLE `gateway_order` (
  `id` int(11) NOT NULL AUTO_INCREMENT,  /* Order id */
  `updated_datetime` datetime NOT NULL,  /* Latest update time of order */
  `created_datetime` datetime NOT NULL,  /* Created time of order */
  `product_name` varchar(255) NOT NULL,
  `description` varchar(255) DEFAULT NULL,
  `user_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
) ENGINE=InnoDB AUTO_INCREMENT=34848 DEFAULT CHARSET=utf8;
如果找到更好的方法,请告诉我。

因为我:

  • 票证#13867现在被“取代”,该票证已重新打开,现已被接受并等待修补程序

  • PostgreSQL数据库的部分解决方案发布于,作为迁移后钩子Django应用程序。对MySQL数据库进行调整应该不难