Execute query on the right database.

This commit is contained in:
Antoine Nguyen
2015-10-15 20:58:08 +02:00
parent 4186b82f91
commit e65c56acc1
3 changed files with 8 additions and 5 deletions

View File

@@ -25,7 +25,7 @@ dbname = modoboa
dbuser = modoboa
dbpassword = password
# Extensions to install (you can use the 'all' shortcut)
extensions = modoboa-admin modoboa-admin-relaydomains modoboa-admin-limits modoboa-amavis modoboa-pdfcrendentials modoboa-postfix-autoreply modoboa-sievefilters modoboa-stats modoboa-webmail
extensions = modoboa-admin modoboa-admin-relaydomains modoboa-admin-limits modoboa-amavis modoboa-pdfcredentials modoboa-postfix-autoreply modoboa-sievefilters modoboa-stats modoboa-webmail
[amavis]
enabled = true

View File

@@ -40,10 +40,13 @@ class PostgreSQL(Database):
super(PostgreSQL, self).__init__(config)
self._pgpass_done = False
def _exec_query(self, query):
def _exec_query(self, query, dbname=None, dbuser=None):
"""Exec a postgresql query."""
cmd = "psql"
if dbname and dbuser:
cmd += " -d {} -U {} -w".format(dbname, dbuser)
utils.exec_cmd(
"""psql -c "{}" """.format(query), sudo_user=self.dbuser)
"""{} -c "{}" """.format(cmd, query), sudo_user=self.dbuser)
def create_user(self, name, password):
"""Create a user."""
@@ -114,7 +117,7 @@ class MySQL(Database):
utils.exec_cmd("echo '{}' | debconf-set-selections".format(cfg))
super(MySQL, self).install_package()
def _exec_query(self, query):
def _exec_query(self, query, dbname=None, dbuser=None):
"""Exec a postgresql query."""
utils.exec_cmd(
"""mysql -u {} -p{} -e "{}" """

View File

@@ -103,7 +103,7 @@ class Modoboa(base.Installer):
"UPDATE lib_parameter SET value='{}' WHERE name='{}'"
.format(value, name)
)
self.backend._exec_query(query)
self.backend._exec_query(query, self.dbname, self.dbuser)
def post_run(self):
"""Additional tasks."""