1
0
mirror of https://github.com/haiwen/ccnet-server.git synced 2025-09-14 05:50:38 +00:00

Add config option 'create_tables'.

This commit is contained in:
cuihaikuo
2018-07-05 12:07:27 +08:00
parent 020389e066
commit 97e690b7d5
5 changed files with 25 additions and 3 deletions

View File

@@ -95,6 +95,8 @@ struct CcnetSession
sqlite3 *config_db;
CcnetDB *db;
gboolean create_tables;
};
struct _CcnetSessionClass

View File

@@ -90,7 +90,12 @@ open_db (CcnetGroupManager *manager)
return -1;
manager->priv->db = db;
return check_db_table (manager, db);
if (manager->session->create_tables && check_db_table (manager, db) < 0) {
ccnet_warning ("Failed to create group db tables.\n");
return -1;
}
return 0;
}
/* -------- Group Database Management ---------------- */

View File

@@ -75,7 +75,12 @@ open_db (CcnetOrgManager *manager)
return -1;
manager->priv->db = db;
return check_db_table (db);
if (manager->session->create_tables && check_db_table (db) < 0) {
ccnet_warning ("Failed to create org db tables.\n");
return -1;
}
return 0;
}
void ccnet_org_manager_start (CcnetOrgManager *manager)

View File

@@ -131,6 +131,7 @@ static int init_mysql_database (CcnetSession *session)
char *host, *user, *passwd, *db, *unix_socket, *charset;
int port;
gboolean use_ssl = FALSE;
gboolean create_tables = TRUE;
int max_connections = 0;
host = ccnet_key_file_get_string (session->keyf, "Database", "HOST");
@@ -165,6 +166,11 @@ static int init_mysql_database (CcnetSession *session)
unix_socket = ccnet_key_file_get_string (session->keyf,
"Database", "UNIX_SOCKET");
use_ssl = g_key_file_get_boolean (session->keyf, "Database", "USE_SSL", NULL);
if (g_key_file_has_key (session->keyf, "Database", "CREATE_TABLES", NULL))
create_tables = g_key_file_get_boolean (session->keyf, "Database", "CREATE_TABLES", NULL);
session->create_tables = create_tables;
charset = ccnet_key_file_get_string (session->keyf,
"Database", "CONNECTION_CHARSET");

View File

@@ -764,7 +764,11 @@ open_db (CcnetUserManager *manager)
return -1;
manager->priv->db = db;
return check_db_table (db);
if (manager->session->create_tables && check_db_table (db) < 0) {
ccnet_warning ("Failed to create user db tables.\n");
return -1;
}
return 0;
}