最近我一直在努力学习Django的web开发,我对此非常高兴。。。
但是,有一件事真的很烦人——特别是当你了解到django背后的“简单”理念时。
在django中更新一个表与我刚刚经历的简单性相去甚远。
例如,就像我遇到的真实情况一样,我在开始时跳过了为条目标题添加slug字段。但过了一会儿,我想在表中添加一个slug列,就像所有人一样——作为django的新手,我尝试了python manage.py syncdb命令。当然没用。。。经过一番搜索,我发现“我需要在dbshell命令行中‘手动’添加一个新列”(我使用的数据库是mysql)。
我不知道为什么,但我认为这是一件非常有趣的事情,我从来没有想到,在django创建一个网站是多么简单。你们不都这么认为吗?或者,如果你有其他的解决方案或者其他什么,你能分享一下吗?
提前谢谢。。。
另外,我不介意在shell中和db相处,但我想知道的是为什么在django中会这样。。。

最佳答案

数据库迁移是django项目的一个目标,但它是一个足够困难的主题,以至于它没有出现在最初的几个版本中。为填补这一空白,出现了一批移民项目,每一个项目都以不同的方式解决了这一难题。django团队没有试图创建一个额外的迁移解决方案,也没有在任何解决方案成熟之前祝福一个具有“官方”身份的解决方案,或者至少作为一个首选解决方案出现,而是决定让这些解决方案不断发展,并将在晚些时候从作物中挑选一个与django一起发货。
有关这些第三方迁移工具的更多信息,请查看this question.

关于mysql - 为什么Django不“真正”支持自动表更新?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1168728/

10-11 03:26
查看更多