Merge remote-tracking branch 'jadestorm/master'
This commit is contained in:
commit
a0e0c8e75b
6 changed files with 51 additions and 16 deletions
|
@ -110,7 +110,7 @@ endif()
|
|||
# FIND SQLITE3
|
||||
if (ENABLE_SQLITE3)
|
||||
if (NOT CMAKE_COMPILER_IS_GNUCXX)
|
||||
ADD_SUBDIRECTORY(${CMAKE_SOURCE_DIR}/msvc-deps/sqlite3)
|
||||
ADD_SUBDIRECTORY(${CMAKE_SOURCE_DIR}/msvc-deps)
|
||||
else()
|
||||
if (WIN32)
|
||||
ADD_SUBDIRECTORY(${CMAKE_SOURCE_DIR}/msvc-deps/sqlite3)
|
||||
|
|
|
@ -5,6 +5,7 @@ add_executable(spectrum2_twitter_backend ${SRC})
|
|||
if (NOT WIN32)
|
||||
target_link_libraries(spectrum2_twitter_backend curl transport pthread ${Boost_LIBRARIES} ${SWIFTEN_LIBRARY} ${LOG4CXX_LIBRARIES})
|
||||
else ()
|
||||
include_directories("${CMAKE_SOURCE_DIR}/msvc-deps/curl/include")
|
||||
target_link_libraries(spectrum2_twitter_backend libcurl_imp transport ${Boost_LIBRARIES} ${SWIFTEN_LIBRARY} ${LOG4CXX_LIBRARIES})
|
||||
endif()
|
||||
|
||||
|
|
|
@ -1,16 +1,33 @@
|
|||
|
||||
h2. 1. Editing the configuration file
|
||||
|
||||
To configure Spectrum 2 to use PostgreSQL database, you have to edit following options in database section:
|
||||
To configure Spectrum 2 to use PostgreSQL database, you have to edit some or more of the following options in database section. Please note that connectionstring overrides everything else (aside from type).
|
||||
|
||||
|_. Section |_. Key |_. Type |_. Change to value |_. Description |
|
||||
| database| type | string | pqxx | Database type - "none", "mysql", "sqlite3", "pqxx". |
|
||||
| database| database | string | Name of the already create empty database | Database used to store data. |
|
||||
| database| server | string | Database server | Database server. |
|
||||
| database| port | string | Database port | Database port. |
|
||||
| database| user | string | PostgreSQL user. | PostgreSQL user. |
|
||||
| database| password | string | PostgreSQL Password. | PostgreSQL Password. |
|
||||
| database| prefix | string | | Prefix of tables in database. |
|
||||
| database| connectionstring | string | Postgres connection string | If you set this, it will ignore all other options above aside from type and prefix. This allows you to set any typical postgres connection string option, separated by spaces (no semicolons). |
|
||||
|
||||
h2. 2. Creating the database
|
||||
|
||||
Spectrum 2 will create the database on the first execution. Once the database is created, you can remove the CREATE TABLE permissions to the PostgreSQL database user you use to connect the SQL.
|
||||
Spectrum 2 will create the database on the first execution. Once the database is created, you can remove the CREATE TABLE permissions to the PostgreSQL database user you use to connect the SQL.
|
||||
|
||||
h2. 3. Some examples
|
||||
|
||||
Using connectionstring:
|
||||
[database]
|
||||
type=pqxx
|
||||
connectionstring=host=localhost database=spectrum2 user=myuser password=whatever
|
||||
|
||||
Using traditional options:
|
||||
[database]
|
||||
type=pqxx
|
||||
server=localhost
|
||||
database=spectrum2
|
||||
user=myuser
|
||||
password=whatever
|
||||
|
|
|
@ -25,7 +25,7 @@ BuildRequires: libidn-devel
|
|||
BuildRequires: expat-devel
|
||||
BuildRequires: avahi-devel
|
||||
BuildRequires: log4cxx-devel
|
||||
BuildRequires: swiften-devel
|
||||
#BuildRequires: swiften-devel
|
||||
BuildRequires: libcommuni-devel
|
||||
Requires: libtransport%{?_isa} = %{version}-%{release}
|
||||
|
||||
|
|
|
@ -96,6 +96,10 @@ type = none
|
|||
# Prefix used for tables
|
||||
#prefix = jabber_
|
||||
|
||||
# Connection string (for pqxx only!)
|
||||
# If you set this, it ignores every other database option except for type and prefix.
|
||||
#connectionstring = host=localhost user=specturm password=secret
|
||||
|
||||
[registration]
|
||||
# Enable public registrations
|
||||
enable_public_registration=1
|
||||
|
|
|
@ -48,21 +48,34 @@ void PQXXBackend::disconnect() {
|
|||
}
|
||||
|
||||
bool PQXXBackend::connect() {
|
||||
LOG4CXX_INFO(logger, "Connecting PostgreSQL server " << CONFIG_STRING(m_config, "database.server") << ", user " <<
|
||||
CONFIG_STRING(m_config, "database.user") << ", database " << CONFIG_STRING(m_config, "database.database") <<
|
||||
", port " << CONFIG_INT(m_config, "database.port")
|
||||
);
|
||||
|
||||
std::string str = "dbname=";
|
||||
str += CONFIG_STRING(m_config, "database.database") + " ";
|
||||
|
||||
str += "user=" + CONFIG_STRING(m_config, "database.user") + " ";
|
||||
if (!CONFIG_STRING(m_config, "database.password").empty()) {
|
||||
str += "password=" + CONFIG_STRING(m_config, "database.password") + " ";
|
||||
std::string connection_str;
|
||||
connection_str = CONFIG_STRING(m_config, "database.connectionstring");
|
||||
if (connection_str.empty()) {
|
||||
LOG4CXX_INFO(logger, "Connecting PostgreSQL server " << CONFIG_STRING(m_config, "database.server") << ", user " <<
|
||||
CONFIG_STRING(m_config, "database.user") << ", database " << CONFIG_STRING(m_config, "database.database") <<
|
||||
", port " << CONFIG_INT(m_config, "database.port")
|
||||
);
|
||||
connection_str = "dbname=";
|
||||
connection_str += CONFIG_STRING(m_config, "database.database");
|
||||
if (!CONFIG_STRING(m_config, "database.server").empty()) {
|
||||
connection_str += " host=" + CONFIG_STRING(m_config, "database.server");
|
||||
}
|
||||
if (!CONFIG_STRING(m_config, "database.user").empty()) {
|
||||
connection_str += " user=" + CONFIG_STRING(m_config, "database.user");
|
||||
}
|
||||
if (!CONFIG_STRING(m_config, "database.password").empty()) {
|
||||
connection_str += " password=" + CONFIG_STRING(m_config, "database.password");
|
||||
}
|
||||
if (!CONFIG_STRING(m_config, "database.port").empty()) {
|
||||
connection_str += " port=" + CONFIG_STRING(m_config, "database.password");
|
||||
}
|
||||
}
|
||||
else {
|
||||
LOG4CXX_INFO(logger, "Connecting PostgreSQL server via provided connection string.");
|
||||
}
|
||||
|
||||
try {
|
||||
m_conn = new pqxx::connection(str);
|
||||
m_conn = new pqxx::connection(connection_str);
|
||||
}
|
||||
catch (std::exception& e) {
|
||||
LOG4CXX_ERROR(logger, e.what());
|
||||
|
|
Loading…
Add table
Reference in a new issue