Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

importar minha conexão de banco de dados com python


É possível, mas não é uma boa ideia misturar código e dados (qualquer tipo - configuração, HTML etc), por pelo menos dois motivos:
  • Design - você acaba com o chamado alto acoplamento . Situação em que há muitas dependências, difíceis de seguir, e seu aplicativo está cada vez mais difícil de modificar.
  • Segurança - suas credenciais, mais cedo ou mais tarde, acabam em algum arquivo ou repositório de backup de código. O arquivo de configuração pode ser criptografado adicionalmente, o arquivo py não realmente. Se for um aplicativo da Web, é mais fácil restringir o acesso a um único arquivo de configuração do que a todos os arquivos py que podem ter dados confidenciais.

Você ainda pode criar essa função de manipulação de conexão separada e fácil de usar. Mas mova suas credenciais de conexão para um arquivo de configuração separado.

config.ini:
[mysqlDB]
host = '0.0.0.0'
db = 'test'
user = 'root'
pass = 'pswd'

Você pode ler a configuração em seu arquivo py de conexão ou torná-lo mais global (ou seja, singleton?). Se você quiser ler a configuração no arquivo de conexão:

storage.py:
import configparser
import MySQLdb.cursors

config = configparser.ConfigParser()
config.read('config.ini')

def connect():
    return MySQLdb.connect(host = config['mysqlDB']['host'],
                           user = config['mysqlDB']['user'],
                           passwd = config['mysqlDB']['pass'],
                           db = config['mysqlDB']['db'])

Exemplo de uso:
import storage

conn = storage.connect()