def create_users(self, usernames):
usernames = list(set(usernames))
logger.debug('creating users', username_count=len(usernames))
if not usernames:
return True
if self.backend == 'postgres':
create_stmt = insert(user_settings_table). \
on_conflict_do_nothing(index_elements=['username'])
else:
create_stmt = user_settings_table.insert(). \
prefix_with('OR IGNORE')
results = []
async with self.async_engine.acquire() as conn:
for username in usernames:
try:
results.append(await conn.execute(
create_stmt.values(username=username)))
except BaseException:
logger.exception(
'create_users failed', usernames=usernames, exc_info=True)
results.append(False)
return results
评论列表
文章目录