2
我使用Django 1.11,PostgreSQL 9.6和Django迁移工具。我找不到指定列顺序的方法。在最初的迁移中,更改字段的顺序很好,但migrations.AddField()
调用了什么? AddField
调用也可能发生在初始迁移的外键添加中。有什么方法可以指定顺序,还是我只是痴迷于订单,但我不应该?讨论后Django迁移数据库列顺序
更新
的PostgreSQL数据库管理系统不支持位置列相加。因此,从用于添加色谱柱的迁移工具中预期此设施实际上没有意义。
谢谢@FlipperPA,我认为这是我们可以得到的最接近的。不幸的是,没有办法为列(字段)添加工作。新添加的字段必须到列列表的末尾,不是吗? – cmertayak
添加列时,取决于您使用的后端数据库。 IIRC,PostgreSQL和SQL Server只会将列添加到最后,除非您想重新创建整个表并迁移所有数据。在MySQL中,您可以运行'ALTER TABLE table_name ADD COLUMN column_name AFTER other_column_name'。可以修改MySQL的迁移以使用RAW SQL操作,但我不会推荐它,因为当您最终想要转换为PostgreSQL时,您将被锁定在MySQL中。 :)在这种情况下,VIEW是否足以按照所需的顺序返回列,而只留下迁移? – FlipperPA
好的,所以PostgreSQL不支持将列添加到特定位置。听起来最好能忍受这一点。谢谢! [https://dba.stackexchange.com/a/3277](关于postgresql的位置添加的另一个讨论) – cmertayak