diff --git a/common/dynamic_zone_base.cpp b/common/dynamic_zone_base.cpp index 18fe69aa8..4ad08c2db 100644 --- a/common/dynamic_zone_base.cpp +++ b/common/dynamic_zone_base.cpp @@ -60,14 +60,14 @@ uint32_t DynamicZoneBase::CreateInstance() insert_instance.never_expires = m_never_expires; insert_instance.expire_at = insert_instance.start_time + insert_instance.duration; - auto instance = InstanceListRepository::InsertOne(GetDatabase(), insert_instance); - if (instance.id == 0) + auto instance = InstanceListRepository::ReplaceOne(GetDatabase(), insert_instance); + if (!instance) { LogDynamicZones("Failed to create instance [{}] for zone [{}]", unused_instance_id, m_zone_id); return 0; } - m_instance_id = instance.id; + m_instance_id = unused_instance_id; return m_instance_id; }