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