Цель: если пользователь помечен как удаленный при мягком удалении, его календарь также должен быть помечен как удаленный.
: * Структуры 1004 *
type User struct {
gorm.Model
Username string
FirstName string
LastName string
Calendar Calendar
}
type Calendar struct {
gorm.Model
Name string
UserID uint
}
ограничение:
db.Model(&Calendar{}).AddForeignKey("user_id", "users(id)", "CASCADE","CASCADE")
Проблема:
Сложное удаление работает: и пользователь, и его календарь удалены (записи пропали)
db.Exec("Delete from users where id=3")
Мягкое удаление не работает как ожидание:
db.Where("id = ?", 3).Delete(&User{})
с мягким удалением,
- поле таблицы пользователя => Удалено_, датировано.
- календарная таблица =? Удалено_ пусто
Есть идеи?