From ce0675a4fee3f9d6b099e2f2f27ecadb32f18b31 Mon Sep 17 00:00:00 2001 From: Gerhard Gruber Date: Wed, 19 Feb 2020 17:32:18 +0100 Subject: [PATCH] Fix a problem with identity_insert When a model with associations is inserted and the model itself and the association objects contain a value for the ID field, it leads to database errors. --- dialect_mssql.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dialect_mssql.go b/dialect_mssql.go index dcd966c1..4c3dfb1d 100644 --- a/dialect_mssql.go +++ b/dialect_mssql.go @@ -28,8 +28,8 @@ func turnOffIdentityInsert(scope *Scope) { } func init() { - DefaultCallback.Create().After("gorm:begin_transaction").Register("mssql:set_identity_insert", setIdentityInsert) - DefaultCallback.Create().Before("gorm:commit_or_rollback_transaction").Register("mssql:turn_off_identity_insert", turnOffIdentityInsert) + DefaultCallback.Create().Before("gorm:create").Register("mssql:set_identity_insert", setIdentityInsert) + DefaultCallback.Create().After("gorm:create").Register("mssql:turn_off_identity_insert", turnOffIdentityInsert) RegisterDialect("mssql", &mssql{}) }