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:
@@ -95,6 +95,8 @@ struct CcnetSession
|
||||
sqlite3 *config_db;
|
||||
|
||||
CcnetDB *db;
|
||||
|
||||
gboolean create_tables;
|
||||
};
|
||||
|
||||
struct _CcnetSessionClass
|
||||
|
@@ -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 ---------------- */
|
||||
|
@@ -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)
|
||||
|
@@ -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");
|
||||
|
||||
|
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user