рдЬрдм рдЖрдк рдПрдХ рдЧреЗрдЯрд╡реЗ рд╣рдЯрд╛рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдЙрд╕реА EUI рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдпрджрд┐ рдпрд╣ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╢рд┐рдХрд╛рдпрдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЧреЗрдЯрд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИред
{
"code": 6,
"message": "error:pkg/identityserver/store:already_exists (entity already exists)",
"details": [
{
"@type": "type.googleapis.com/ttn.lorawan.v3.ErrorDetails",
"namespace": "pkg/identityserver/store",
"name": "already_exists",
"message_format": "entity already exists",
"attributes": {
"field": "gateway_eui",
"value": "'3135313749005303'"
},
"correlation_id": "c0dc6bb73d714702bd8d0be57e83f369"
}
]
}
рдирдпрд╛ рдЧреЗрдЯрд╡реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдмрдирд╛рдПрдВ
рдПрдкреАрдЖрдИ рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдЯреАрдЯреАрдПрди рд╕реАрдПрд▓рдЖрдИ рдФрд░ рдкреЛрд╕реНрдЯрдореИрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдЕрдореЗрдЬрд╝реЕрди рд▓рд┐рдирдХреНрд╕
рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣рдЯрд╛рдП рдЧрдП рдЧреЗрдЯрд╡реЗ рдХреЛ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдЯрд╛рдП рдЧрдП рдзреНрд╡рдЬ рдХреЛ рдЧрд▓рдд рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ
...
https://github.com/TheThingsNetwork/lorawan-stack/issues/1121 . рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд
рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ #1121 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рджрд╛рдпрд░рд╛ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рд╕рд╛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╣рдЯрд╛рдП рдЧрдП рдирд┐рдХрд╛рдпреЛрдВ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдХреЗрд╡рд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдмрдЬрд╛рдп)ред
рд╡рд░реНрддрдорд╛рди рдЕрдВрдХ рдореЗрдВ, рдЖрдЗрдП рд╣рдЯрд╛рдП рдЧрдП рдЧреЗрдЯрд╡реЗ рдХреЗ рд╕рдорд╛рди EUI рдХреЗ рд╕рд╛рде рдирдП рдЧреЗрдЯрд╡реЗ рдЬреЛрдбрд╝рдиреЗ рдкрд░ рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рджреЗрдВред
https://github.com/TheThingsNetwork/lorawan-stack/issues/604 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд (рдЖрдИрдбреА/рдИрдпреВрдЖрдИ рдЬрд╛рд░реА рдХрд░рдирд╛)
@htdvisser рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ https://github.com/TheThingsNetwork/lorawan-stack/issues/1703 (рдЕрдм рдиреЗрдХреНрд╕реНрдЯ рдЕрдк рдореЗрдВ) рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд╡рдЬреВрдж EUI рдХреЗ рд╕рд╛рде рдЧреЗрдЯрд╡реЗ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╡рд░ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ . рдХрд┐рд╕реА рдирд┐рдХрд╛рдп рдХреЛ рд╢реБрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдореЗрдВ рд▓реВрдк рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИ, рд╕рд╛рде рд╣реА рдХрд┐рд╕реА рдирд┐рдХрд╛рдп рдХреЛ рд╢реБрджреНрдз рдХрд░рдирд╛ рдХреЗрд╡рд▓ EUI рдХреЛ рдЬрд╛рд░реА рдХрд░рдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рд╣реИред
Afaik рдЧреЗрдЯрд╡реЗ рдХреЛ рд╣рдЯрд╛рддреЗ рд╕рдордп рдИрдпреВрдЖрдИ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реБрд░рдХреНрд╖рд╛ рд╕рдорд╕реНрдпрд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВред рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдпрд╣ рд╡рд╕реВрд▓реА рдХреЛ рдЖрдВрд╢рд┐рдХ рдмрдирд╛ рджреЗрдЧрд╛, рдпрд╛рдиреА рдИрдпреВрдЖрдИ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ рдФрд░ рдпрд╣ рднреА рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдбрд┐рд╡рд╛рдЗрд╕ рдИрдпреВрдЖрдИ рдХреЛ рддреБрд░рдВрдд рд╣рдЯрд╛рдиреЗ рдкрд░ рдХреИрд╕реЗ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдХреНрдпрд╛ рд╣рдо рдЧреЗрдЯрд╡реЗ рдбрд┐рд▓реАрдЯ рдкрд░ рдХреЗрд╡рд▓ EUI рдЬрд╛рд░реА рдХрд░рдХреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдХреНрдпреЛрдВ рдирд╣реАрдВ?
рд╣рд╛рдВ, рд╣рдо рдЧреЗрдЯрд╡реЗ рдИрдпреВрдЖрдИ рдлреАрд▓реНрдб рдХреЛ рдбрд┐рд▓реАрдЯ рдХрд░рдиреЗ рдкрд░ рд╢реВрдиреНрдп/рдирд▓ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред a . рдЬреЛрдбрд╝рдиреЗ рдЬрд┐рддрдирд╛ рдЖрд╕рд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
// AfterDelete releases the EUI of a Gateway after it is deleted.
func (gtw *Gateway) AfterDelete(db *gorm.DB) error {
return db.Unscoped().Model(gtw).UpdateColumn("gateway_eui", nil).Error
}
pkg/identityserver/store/hooks.go
рдореЗрдВред
@bafonins рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВ?
@adamsondelacruz рдХреГрдкрдпрд╛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реЗрдВ рдпрджрд┐ https://github.com/TheThingsNetwork/lorawan-stack/pull/1843 рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред