def upsert_user(self, trans, user):
self.logger.debug(f"Upserting user {user.id}")
values = user_values(user)
if self.user_cache.get(user.id) == values:
self.logger.debug(f"User lookup for {user.id} is already up-to-date")
return
ups = p_insert(self.tb_users) \
.values(values) \
.on_conflict_do_update(
index_elements=['user_id'],
index_where=(self.tb_users.c.user_id == user.id),
set_=values,
)
trans.execute(ups)
self.user_cache[user.id] = values
# Members
评论列表
文章目录