mirror of
https://github.com/haiwen/seafile-server.git
synced 2025-09-14 14:22:34 +00:00
Add config option 'create_tables'.
This commit is contained in:
@@ -127,6 +127,8 @@ seaf_branch_manager_init (SeafBranchManager *mgr)
|
||||
static int
|
||||
open_db (SeafBranchManager *mgr)
|
||||
{
|
||||
if (!mgr->seaf->create_tables)
|
||||
return 0;
|
||||
#ifndef SEAFILE_SERVER
|
||||
|
||||
char *db_path;
|
||||
|
@@ -61,6 +61,7 @@ mysql_db_start (SeafileSession *session)
|
||||
char *host, *user, *passwd, *db, *unix_socket, *charset;
|
||||
int port;
|
||||
gboolean use_ssl = FALSE;
|
||||
gboolean create_tables = TRUE;
|
||||
int max_connections = 0;
|
||||
GError *error = NULL;
|
||||
|
||||
@@ -99,6 +100,12 @@ mysql_db_start (SeafileSession *session)
|
||||
use_ssl = g_key_file_get_boolean (session->config,
|
||||
"database", "use_ssl", NULL);
|
||||
|
||||
if (g_key_file_has_key (session->config, "database", "create_tables", NULL)) {
|
||||
create_tables = g_key_file_get_boolean (session->config,
|
||||
"database", "create_tables", NULL);
|
||||
}
|
||||
session->create_tables = create_tables;
|
||||
|
||||
charset = seaf_key_file_get_string (session->config,
|
||||
"database", "connection_charset", NULL);
|
||||
|
||||
|
@@ -34,6 +34,8 @@ struct _SeafileSession {
|
||||
SeafBranchManager *branch_mgr;
|
||||
SeafCommitManager *commit_mgr;
|
||||
SeafRepoManager *repo_mgr;
|
||||
|
||||
gboolean create_tables;
|
||||
};
|
||||
|
||||
extern SeafileSession *seaf;
|
||||
|
@@ -33,6 +33,7 @@ struct _SeafileSession {
|
||||
SeafRepoManager *repo_mgr;
|
||||
SeafCfgManager *cfg_mgr;
|
||||
|
||||
gboolean create_tables;
|
||||
};
|
||||
|
||||
extern SeafileSession *seaf;
|
||||
|
@@ -78,6 +78,10 @@ seaf_quota_manager_new (struct _SeafileSession *session)
|
||||
int
|
||||
seaf_quota_manager_init (SeafQuotaManager *mgr)
|
||||
{
|
||||
|
||||
if (!mgr->session->create_tables)
|
||||
return 0;
|
||||
|
||||
SeafDB *db = mgr->session->db;
|
||||
const char *sql;
|
||||
|
||||
|
@@ -1356,6 +1356,9 @@ create_tables_pgsql (SeafRepoManager *mgr)
|
||||
static int
|
||||
create_db_tables_if_not_exist (SeafRepoManager *mgr)
|
||||
{
|
||||
if (!mgr->seaf->create_tables)
|
||||
return 0;
|
||||
|
||||
SeafDB *db = mgr->seaf->db;
|
||||
int db_type = seaf_db_type (db);
|
||||
|
||||
|
@@ -192,17 +192,25 @@ seafile_session_init (SeafileSession *session)
|
||||
if (seaf_fs_manager_init (session->fs_mgr) < 0)
|
||||
return -1;
|
||||
|
||||
if (seaf_branch_manager_init (session->branch_mgr) < 0)
|
||||
if (seaf_branch_manager_init (session->branch_mgr) < 0) {
|
||||
seaf_warning ("Failed to init branch manager.\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (seaf_repo_manager_init (session->repo_mgr) < 0)
|
||||
if (seaf_repo_manager_init (session->repo_mgr) < 0) {
|
||||
seaf_warning ("Failed to init repo manager.\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (seaf_quota_manager_init (session->quota_mgr) < 0)
|
||||
if (seaf_quota_manager_init (session->quota_mgr) < 0) {
|
||||
seaf_warning ("Failed to init quota manager.\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (seaf_cfg_manager_init (session->cfg_mgr) < 0)
|
||||
if (session->create_tables && seaf_cfg_manager_init (session->cfg_mgr) < 0) {
|
||||
seaf_warning ("Failed to init config manager.\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
seaf_mq_manager_init (session->mq_mgr);
|
||||
|
||||
@@ -435,7 +443,7 @@ schedule_create_system_default_repo (SeafileSession *session)
|
||||
sql = "CREATE TABLE IF NOT EXISTS SystemInfo( "
|
||||
"info_key VARCHAR(256), info_value VARCHAR(1024))";
|
||||
|
||||
if (seaf_db_query (session->db, sql) < 0)
|
||||
if (session->create_tables && seaf_db_query (session->db, sql) < 0)
|
||||
return;
|
||||
|
||||
ccnet_job_manager_schedule_job (session->job_mgr,
|
||||
|
@@ -91,6 +91,8 @@ struct _SeafileSession {
|
||||
HttpServerStruct *http_server;
|
||||
ZipDownloadMgr *zip_download_mgr;
|
||||
IndexBlksMgr *index_blocks_mgr;
|
||||
|
||||
gboolean create_tables;
|
||||
};
|
||||
|
||||
extern SeafileSession *seaf;
|
||||
|
@@ -25,6 +25,9 @@ seaf_share_manager_new (SeafileSession *seaf)
|
||||
int
|
||||
seaf_share_manager_start (SeafShareManager *mgr)
|
||||
{
|
||||
if (!mgr->seaf->create_tables)
|
||||
return 0;
|
||||
|
||||
SeafDB *db = mgr->seaf->db;
|
||||
const char *sql;
|
||||
|
||||
|
Reference in New Issue
Block a user