我一直在寻找任何指导方针但没有成功。在一个项目中,我经常使用Django data migrations。它们看起来或多或少像文档中的示例。然而,操作有时相当复杂,并且有一些控制台输出总结执行的操作(即删除/创建/重新连接等等以及为什么这样做)会很好。
所以问题是:将这样的日志记录编码到迁移中是否可以?如果是这样,使用Python的logging
模块或仅print
是否更好?在前一种情况下,可能需要一个额外的配置来使这些日志可见(在settings.py
?)。在后一种情况下,会stderr
还是stdout
?
问题可以扩展到用户的互动输入是否是允许的。内置的模式迁移工具很容易询问与数据相关的交互问题。
Custom management commands推荐了提供控制台输出的方法,这是此问题背后的动机之一。
答案 0 :(得分:3)
我认为日志是这里的方式。由于您要在服务器上运行迁移,因此最好将其保存到日志中,以便以后随时可以捕获它。
答案 1 :(得分:3)
你应该在任何其他时间打印到stdout。
因此,如果您的迁移有任何错误,我会将其重定向到stderr。其他明智的我认为马歇尔X正确回答。如果您需要回顾发生的任何事情并使用了印刷品,那么信息就不存在了。
我会使用日志记录。