2016-12-14 220 views
0

我必須使用一個MSSQL服務器數據庫與在Django中製作的項目,我使用django-pymssql依賴關係,並且所有工作都很好。Django pymssql遷移

當我運行初始遷移它引發我一個錯誤:

django.db.utils.OperationalError: (5074, "The object 'UQ__auth_use__F3DBC5726EFED139' is dependent on column 'username'.DB-Lib error message 20018, severity 16:\nGeneral SQL Server error: Check messages from the SQL Server\nDB-Lib error message 20018, severity 16:\nGeneral SQL Server error: Check messages from the SQL Server\n")

只是Django的遷移後,這只是happend嘗試這樣的:

Applying auth.0008_alter_user_username_max_length...

所以,我猜Django的嘗試在一個字段上移動,但MSSQL在修改時拋出錯誤。

我正在使用Ubuntu 16.10,所以如果任何人有線索如何避免這個錯誤會有很多幫助。

回答

1

你可能會檢查你的版本的django-mssql,我相信1.7+不應該有這個問題了。

嘗試對數據庫運行如下:

alter table [user] drop constraint [UQ__auth_use__F3DBC5726EFED139]; 
drop index [UQ__auth_use__F3DBC5726EFED139] on [user]; 

,重新運行manage.py遷移。

Drop Constraint Failed - unable to drop index with ALTER TABLE DROP CONSTRAINT

+1

其實這是解決方案。我不知道在這個設置下我是否會遇到更多麻煩,但我會試一試。非常感謝! – jesuscc29