Add .env file creation script and update database connection method
- Implemented a script to create a .env file with environment variables and ensure .env is added to .gitignore. - Modified the database connection function to accept a connection string instead of individual parameters.
This commit is contained in:
@@ -1,16 +1,39 @@
|
||||
def crear_archivo_env(nombre_archivo='.env'):
|
||||
"""
|
||||
Archivo: generar_archivo_env.py
|
||||
Fecha de creación: 17/11/2024
|
||||
Descripción: Este script crea un archivo .env con variables de entorno y agrega .env a .gitignore si no está presente.
|
||||
"""
|
||||
|
||||
import os
|
||||
|
||||
def agregar_a_gitignore(nombre_archivo='.gitignore', entrada='.env'):
|
||||
if os.path.exists(nombre_archivo):
|
||||
with open(nombre_archivo, 'r') as archivo:
|
||||
lineas = archivo.readlines()
|
||||
if entrada not in [linea.strip() for linea in lineas]:
|
||||
with open(nombre_archivo, 'a') as archivo:
|
||||
archivo.write(f'{entrada}\n')
|
||||
else:
|
||||
with open(nombre_archivo, 'w') as archivo:
|
||||
archivo.write(f'{entrada}\n')
|
||||
|
||||
def crear_archivo_env(nombre_archivo='.env'):
|
||||
variables = {
|
||||
'DB_PASSWORD': '',
|
||||
'DB_USER': 'postgres',
|
||||
'DB_HOST': 'localhost',
|
||||
'DB_PORT': '5432',
|
||||
'DB_NAME': 'data',
|
||||
|
||||
'DATALAKE_PASS': 'postgresql://postgres:password@localhost:5432/mydatabase',
|
||||
}
|
||||
|
||||
if os.path.exists(nombre_archivo):
|
||||
with open(nombre_archivo, 'r') as archivo:
|
||||
lineas_existentes = archivo.readlines()
|
||||
lineas_existentes = [linea.strip().split('=')[0] for linea in lineas_existentes]
|
||||
else:
|
||||
lineas_existentes = []
|
||||
|
||||
with open(nombre_archivo, 'w') as archivo:
|
||||
with open(nombre_archivo, 'a') as archivo:
|
||||
for clave, valor in variables.items():
|
||||
archivo.write(f'{clave}={valor}\n')
|
||||
if clave not in lineas_existentes:
|
||||
archivo.write(f'{clave}={valor}\n')
|
||||
|
||||
agregar_a_gitignore()
|
||||
|
||||
print(f'Archivo {nombre_archivo} creado correctamente.')
|
||||
@@ -12,20 +12,17 @@ import pandas as pd
|
||||
import os
|
||||
|
||||
|
||||
def connect_to_db(host, dbname, user, password, port=5432):
|
||||
def connect_to_db(connection_string):
|
||||
"""
|
||||
Establece una conexión a la base de datos PostgreSQL usando credenciales del archivo .env.
|
||||
Establece una conexión a la base de datos PostgreSQL usando una cadena de conexión.
|
||||
|
||||
Args:
|
||||
connection_string (str): Cadena de conexión a la base de datos.
|
||||
|
||||
Returns:
|
||||
conn (psycopg2.extensions.connection): Objeto de conexión a la base de datos.
|
||||
"""
|
||||
conn = psycopg2.connect(
|
||||
host=host,
|
||||
dbname=dbname,
|
||||
user=user,
|
||||
password=password,
|
||||
port=port
|
||||
)
|
||||
conn = psycopg2.connect(connection_string)
|
||||
return conn
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user