rubenv / sql-migrate

SQL schema migration tool for Go.
MIT License
3.24k stars 280 forks source link

Set Id column with max size 4000 where dialect is mssql (sqlserver) #233

Closed jvictor27 closed 1 year ago

jvictor27 commented 1 year ago

Problem: Using the mssql dialect, when the change control table is going to be created, the column information of the PK id column is nvarchar(max), but the sqlserver does not allow this type of field as index. Returning error "Could not create constraint or index. See previous errors."

Solution: Including the mssql dialect in the already existing condition of validation of the Id column in for other dialects, the Id column will now have a defined size of 4000 and so when gorp translates to the language of the database, the id field will be nvarchar(4000) , avoiding the current error "Could not create constraint or index. See previous errors."