def upsert_emoji(self, trans, emoji):
data = EmojiData(emoji)
values = data.values()
if self.emoji_cache.get(data.cache_id) == values:
self.logger.debug(f"Emoji lookup for {data} is already up-to-date")
return
self.logger.debug(f"Upserting emoji {data}")
ups = p_insert(self.tb_emojis) \
.values(values) \
.on_conflict_do_update(
index_elements=['emoji_id', 'emoji_unicode'],
index_where=and_(
self.tb_emojis.c.emoji_id == data.id,
self.tb_emojis.c.emoji_unicode == data.unicode,
),
set_=values,
)
trans.execute(ups)
self.emoji_cache[data.cache_id] = values
# Audit log
评论列表
文章目录