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
|
static int
|
||||||
open_db (SeafBranchManager *mgr)
|
open_db (SeafBranchManager *mgr)
|
||||||
{
|
{
|
||||||
|
if (!mgr->seaf->create_tables)
|
||||||
|
return 0;
|
||||||
#ifndef SEAFILE_SERVER
|
#ifndef SEAFILE_SERVER
|
||||||
|
|
||||||
char *db_path;
|
char *db_path;
|
||||||
|
@@ -61,6 +61,7 @@ mysql_db_start (SeafileSession *session)
|
|||||||
char *host, *user, *passwd, *db, *unix_socket, *charset;
|
char *host, *user, *passwd, *db, *unix_socket, *charset;
|
||||||
int port;
|
int port;
|
||||||
gboolean use_ssl = FALSE;
|
gboolean use_ssl = FALSE;
|
||||||
|
gboolean create_tables = TRUE;
|
||||||
int max_connections = 0;
|
int max_connections = 0;
|
||||||
GError *error = NULL;
|
GError *error = NULL;
|
||||||
|
|
||||||
@@ -99,6 +100,12 @@ mysql_db_start (SeafileSession *session)
|
|||||||
use_ssl = g_key_file_get_boolean (session->config,
|
use_ssl = g_key_file_get_boolean (session->config,
|
||||||
"database", "use_ssl", NULL);
|
"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,
|
charset = seaf_key_file_get_string (session->config,
|
||||||
"database", "connection_charset", NULL);
|
"database", "connection_charset", NULL);
|
||||||
|
|
||||||
|
@@ -34,6 +34,8 @@ struct _SeafileSession {
|
|||||||
SeafBranchManager *branch_mgr;
|
SeafBranchManager *branch_mgr;
|
||||||
SeafCommitManager *commit_mgr;
|
SeafCommitManager *commit_mgr;
|
||||||
SeafRepoManager *repo_mgr;
|
SeafRepoManager *repo_mgr;
|
||||||
|
|
||||||
|
gboolean create_tables;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern SeafileSession *seaf;
|
extern SeafileSession *seaf;
|
||||||
|
@@ -33,6 +33,7 @@ struct _SeafileSession {
|
|||||||
SeafRepoManager *repo_mgr;
|
SeafRepoManager *repo_mgr;
|
||||||
SeafCfgManager *cfg_mgr;
|
SeafCfgManager *cfg_mgr;
|
||||||
|
|
||||||
|
gboolean create_tables;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern SeafileSession *seaf;
|
extern SeafileSession *seaf;
|
||||||
|
@@ -78,6 +78,10 @@ seaf_quota_manager_new (struct _SeafileSession *session)
|
|||||||
int
|
int
|
||||||
seaf_quota_manager_init (SeafQuotaManager *mgr)
|
seaf_quota_manager_init (SeafQuotaManager *mgr)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
if (!mgr->session->create_tables)
|
||||||
|
return 0;
|
||||||
|
|
||||||
SeafDB *db = mgr->session->db;
|
SeafDB *db = mgr->session->db;
|
||||||
const char *sql;
|
const char *sql;
|
||||||
|
|
||||||
|
@@ -1356,6 +1356,9 @@ create_tables_pgsql (SeafRepoManager *mgr)
|
|||||||
static int
|
static int
|
||||||
create_db_tables_if_not_exist (SeafRepoManager *mgr)
|
create_db_tables_if_not_exist (SeafRepoManager *mgr)
|
||||||
{
|
{
|
||||||
|
if (!mgr->seaf->create_tables)
|
||||||
|
return 0;
|
||||||
|
|
||||||
SeafDB *db = mgr->seaf->db;
|
SeafDB *db = mgr->seaf->db;
|
||||||
int db_type = seaf_db_type (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)
|
if (seaf_fs_manager_init (session->fs_mgr) < 0)
|
||||||
return -1;
|
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;
|
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;
|
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;
|
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;
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
seaf_mq_manager_init (session->mq_mgr);
|
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( "
|
sql = "CREATE TABLE IF NOT EXISTS SystemInfo( "
|
||||||
"info_key VARCHAR(256), info_value VARCHAR(1024))";
|
"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;
|
return;
|
||||||
|
|
||||||
ccnet_job_manager_schedule_job (session->job_mgr,
|
ccnet_job_manager_schedule_job (session->job_mgr,
|
||||||
|
@@ -91,6 +91,8 @@ struct _SeafileSession {
|
|||||||
HttpServerStruct *http_server;
|
HttpServerStruct *http_server;
|
||||||
ZipDownloadMgr *zip_download_mgr;
|
ZipDownloadMgr *zip_download_mgr;
|
||||||
IndexBlksMgr *index_blocks_mgr;
|
IndexBlksMgr *index_blocks_mgr;
|
||||||
|
|
||||||
|
gboolean create_tables;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern SeafileSession *seaf;
|
extern SeafileSession *seaf;
|
||||||
|
@@ -25,6 +25,9 @@ seaf_share_manager_new (SeafileSession *seaf)
|
|||||||
int
|
int
|
||||||
seaf_share_manager_start (SeafShareManager *mgr)
|
seaf_share_manager_start (SeafShareManager *mgr)
|
||||||
{
|
{
|
||||||
|
if (!mgr->seaf->create_tables)
|
||||||
|
return 0;
|
||||||
|
|
||||||
SeafDB *db = mgr->seaf->db;
|
SeafDB *db = mgr->seaf->db;
|
||||||
const char *sql;
|
const char *sql;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user