将用户配置表改到创建用户时创建

This commit is contained in:
luoliangyi 2022-12-13 10:27:22 +08:00
parent 9bc6176b9c
commit d464356b28
3 changed files with 55 additions and 21 deletions

View File

@ -151,8 +151,7 @@ HGResult HGPdtToolDbUserMgrImpl::Create(const HGChar* host, HGUShort port, const
return HGPDTTOOLDB_ERR_WRONG_PASSWORD;
}
if (0 != CreateUserConfigTable(sql, userName) || 0 != CreateMainTestTable(sql)
|| 0 != CreateInitInspTestTable(sql) || 0 != CreateInitInspDescTable(sql)
if (0 != CreateMainTestTable(sql) || 0 != CreateInitInspTestTable(sql) || 0 != CreateInitInspDescTable(sql)
|| 0 != CreateImgInspTestTable(sql) || 0 != CreateImgInspDescTable(sql)
|| 0 != CreatePreInspTestTable(sql) || 0 != CreatePreInspDescTable(sql))
{
@ -309,10 +308,34 @@ HGResult HGPdtToolDbUserMgrImpl::CreateUser(const HGChar* userName, const HGChar
return HGBASE_ERR_FAIL;
}
// 事务开始
int ret = mysql_query(m_sql, "begin;");
if (0 != ret)
{
return HGBASE_ERR_FAIL;
}
char sqlCmd[1024] = {0};
sprintf(sqlCmd, "insert into user_list (user, password) values ('%s', password('%s'));", userName, defPwd);
int ret = mysql_query(m_sql, sqlCmd);
return (0 == ret) ? HGBASE_ERR_OK : HGBASE_ERR_FAIL;
ret = mysql_query(m_sql, sqlCmd);
if (0 != ret)
{
mysql_query(m_sql, "rollback;");
return HGBASE_ERR_FAIL;
}
sprintf(sqlCmd, "create table %s_config (config_key varchar(40) not null primary key, config_value text);", userName);
ret = mysql_query(m_sql, sqlCmd);
if (0 != ret)
{
mysql_query(m_sql, "rollback;");
return HGBASE_ERR_FAIL;
}
// 事务结束
ret = mysql_query(m_sql, "commit;");
assert(0 == ret);
return HGBASE_ERR_OK;
}
HGResult HGPdtToolDbUserMgrImpl::DestroyUser(const HGChar* userName)
@ -339,13 +362,34 @@ HGResult HGPdtToolDbUserMgrImpl::DestroyUser(const HGChar* userName)
return HGBASE_ERR_FAIL;
}
char sqlCmd[1024] = { 0 };
sprintf(sqlCmd, "drop table %s_config;", userName);
mysql_query(m_sql, sqlCmd);
// 事务开始
int ret = mysql_query(m_sql, "begin;");
if (0 != ret)
{
return HGBASE_ERR_FAIL;
}
char sqlCmd[1024] = { 0 };
sprintf(sqlCmd, "delete from user_list where user = '%s';", userName);
int ret = mysql_query(m_sql, sqlCmd);
return (0 == ret) ? HGBASE_ERR_OK : HGBASE_ERR_FAIL;
ret = mysql_query(m_sql, sqlCmd);
if (0 != ret)
{
mysql_query(m_sql, "rollback;");
return HGBASE_ERR_FAIL;
}
sprintf(sqlCmd, "drop table %s_config;", userName);
ret = mysql_query(m_sql, sqlCmd);
if (0 != ret)
{
mysql_query(m_sql, "rollback;");
return HGBASE_ERR_FAIL;
}
// 事务结束
ret = mysql_query(m_sql, "commit;");
assert(0 == ret);
return HGBASE_ERR_OK;
}
HGResult HGPdtToolDbUserMgrImpl::SetPassword(const HGChar* userName, const HGChar* pwd)
@ -742,16 +786,6 @@ std::string HGPdtToolDbUserMgrImpl::GetAuthString(MYSQL* sql, const HGChar* pwd)
return authString;
}
int HGPdtToolDbUserMgrImpl::CreateUserConfigTable(MYSQL* sql, const HGChar* user)
{
assert(NULL != sql);
assert(NULL != user && 0 != *user);
char sqlCmd[1024] = {0};
sprintf(sqlCmd, "create table if not exists %s_config (config_key varchar(40) not null primary key, config_value text);", user);
return mysql_query(sql, sqlCmd);
}
int HGPdtToolDbUserMgrImpl::CreateMainTestTable(MYSQL* sql)
{
assert(NULL != sql);

View File

@ -36,7 +36,6 @@ private:
static std::string GetPassword(MYSQL* sql, const HGChar* userName);
static std::string GetAuthString(MYSQL* sql, const HGChar* pwd);
int CreateUserConfigTable(MYSQL* sql, const HGChar *user);
int CreateMainTestTable(MYSQL *sql);
int CreateInitInspTestTable(MYSQL* sql);
int CreateInitInspDescTable(MYSQL* sql);

View File

@ -5,3 +5,4 @@
5.use huago_production_tool;
6.create table user_list (user varchar(20) not null primary key, password text);
7.insert into user_list (user, password) values ('root', password('123456'));
8.create table root_config (config_key varchar(40) not null primary key, config_value text);