Selaa lähdekoodia

Merge pull request #7326 from oshosanya/allow-database-port-config

feat: Allow user to specify database port
version-14
Rushabh Mehta 6 vuotta sitten
committed by GitHub
vanhempi
commit
fce9989e1f
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
5 muutettua tiedostoa jossa 12 lisäystä ja 11 poistoa
  1. +2
    -2
      frappe/__init__.py
  2. +4
    -4
      frappe/database/__init__.py
  3. +2
    -1
      frappe/database/database.py
  4. +3
    -3
      frappe/database/mariadb/database.py
  5. +1
    -1
      frappe/database/postgres/database.py

+ 2
- 2
frappe/__init__.py Näytä tiedosto

@@ -191,8 +191,8 @@ def connect(site=None, db_name=None):
def connect_read_only():
from frappe.database import get_db

local.read_only_db = get_db(local.conf.slave_host, local.conf.slave_db_name,
local.conf.slave_db_password)
local.read_only_db = get_db(host=local.conf.slave_host, user=local.conf.slave_db_name,
password=local.conf.slave_db_password)

# swap db connections
local.master_db = local.db


+ 4
- 4
frappe/database/__init__.py Näytä tiedosto

@@ -23,14 +23,14 @@ def drop_user_and_database(db_name, root_login=None, root_password=None):
import frappe.database.mariadb.setup_db
return frappe.database.mariadb.setup_db.drop_user_and_database(db_name, root_login, root_password)

def get_db(host=None, user=None, password=None):
def get_db(host=None, user=None, password=None, port=None):
import frappe
if frappe.conf.db_type == 'postgres':
import frappe.database.postgres.database
return frappe.database.postgres.database.PostgresDatabase(host, user, password)
return frappe.database.postgres.database.PostgresDatabase(host, user, password, port=port)
else:
import frappe.database.mariadb.database
return frappe.database.mariadb.database.MariaDBDatabase(host, user, password)
return frappe.database.mariadb.database.MariaDBDatabase(host, user, password, port=port)

def setup_help_database(help_db_name):
import frappe
@@ -39,4 +39,4 @@ def setup_help_database(help_db_name):
return frappe.database.postgres.setup_db.setup_help_database(help_db_name)
else:
import frappe.database.mariadb.setup_db
return frappe.database.mariadb.setup_db.setup_help_database(help_db_name)
return frappe.database.mariadb.setup_db.setup_help_database(help_db_name)

+ 2
- 1
frappe/database/database.py Näytä tiedosto

@@ -46,9 +46,10 @@ class Database(object):
class InvalidColumnName(frappe.ValidationError): pass


def __init__(self, host=None, user=None, password=None, ac_name=None, use_default=0):
def __init__(self, host=None, user=None, password=None, ac_name=None, use_default=0, port=None):
self.setup_type_map()
self.host = host or frappe.conf.db_host or 'localhost'
self.port = port or frappe.conf.db_port or ''
self.user = user or frappe.conf.db_name
self.db_name = frappe.conf.db_name
self._conn = None


+ 3
- 3
frappe/database/mariadb/database.py Näytä tiedosto

@@ -81,11 +81,11 @@ class MariaDBDatabase(Database):

if usessl:
conn = pymysql.connect(self.host, self.user or '', self.password or '',
charset='utf8mb4', use_unicode = True, ssl=ssl_params,
port=self.port, charset='utf8mb4', use_unicode = True, ssl=ssl_params,
conv = conversions, local_infile = frappe.conf.local_infile)
else:
conn = pymysql.connect(self.host, self.user or '', self.password or '',
charset='utf8mb4', use_unicode = True, conv = conversions,
port=self.port, charset='utf8mb4', use_unicode = True, conv = conversions,
local_infile = frappe.conf.local_infile)

# MYSQL_OPTION_MULTI_STATEMENTS_OFF = 1
@@ -283,4 +283,4 @@ class MariaDBDatabase(Database):
self.begin()

def get_database_list(self, target):
return [d[0] for d in self.sql("SHOW DATABASES;")]
return [d[0] for d in self.sql("SHOW DATABASES;")]

+ 1
- 1
frappe/database/postgres/database.py Näytä tiedosto

@@ -64,7 +64,7 @@ class PostgresDatabase(Database):

def get_connection(self):
# warnings.filterwarnings('ignore', category=psycopg2.Warning)
conn = psycopg2.connect('host={} dbname={}'.format(self.host, self.user))
conn = psycopg2.connect('host={} dbname={} port={}'.format(self.host, self.user, self.port))
conn.set_isolation_level(ISOLATION_LEVEL_AUTOCOMMIT) # TODO: Remove this
# conn = psycopg2.connect('host={} dbname={} user={} password={}'.format(self.host,
# self.user, self.user, self.password))


Ladataan…
Peruuta
Tallenna