Skip to main content

DB Engine Factory: Simplify connecting to MySQL, MSSQL, and PostgreSQL databases through a single, unified configuration.

Project description

DB Engine Factory

Version: 0.1.5
Author: Will Palmer
Description: DB Engine Factory is a Python library designed to simplify connecting to multiple database types (MySQL, MSSQL, PostgreSQL) using SQLAlchemy. Connections are configured via a central .ini file, streamlining database management for applications needing to work with diverse database systems.


Table of Contents


Installation

  1. Install the package from PyPI:

    pip install db-engine-factory
    
  2. Create a configuration file: Ensure your .ini configuration file (e.g., db_config.ini) is in the project root or the directory where you run scripts.

Configuration

Setting Up Your .ini Configuration File

Create a .ini file (e.g., db_config.ini) in the project’s root directory. Each section represents a database configuration.

Example db_config.ini

# MySQL Database
[mysql_db]
type = mysql
user = myuser
password = mypassword
host = localhost
port = 3306
database = mydatabase

# MSSQL Database
[mssql_db]
type = mssql
server = sqlserver.example.com
database = mydatabase
username = myuser
password = mypassword

# PostgreSQL Database
[postgres_db]
type = postgres
user = myuser
password = mypassword
host = localhost
port = 5432
database = mydatabase

Explanation of Fields

  • type: Database type (mysql, mssql, or postgres).
  • user/username: Database username.
  • password: Database password.
  • host/server: Database server address.
  • port: Database port (3306 for MySQL, 5432 for PostgreSQL).
  • database: Name of the database.

Usage

Creating Database Engines

Use the functions in db_connection.py to create database engines. Each function accepts a db_identifier matching a section in db_config.ini.

from db_engine_factory.db_connection import create_mysql_engine, create_mssql_engine, create_postgres_engine

# Create a MySQL engine
mysql_engine = create_mysql_engine("mysql_db")

# Create an MSSQL engine
mssql_engine = create_mssql_engine("mssql_db")

# Create a PostgreSQL engine
postgres_engine = create_postgres_engine("postgres_db")

Function Parameters

  • create_mysql_engine(db_identifier): Creates a MySQL engine based on the .ini configuration.
  • create_mssql_engine(db_identifier): Creates an MSSQL engine using the specified .ini section.
  • create_postgres_engine(db_identifier): Creates a PostgreSQL engine per .ini configuration.

Testing Connections

Run test_db_engine_factory from the command line to test connections to all configured databases with a simple SELECT 1 query.

test_db_engine_factory

This outputs success or error messages for each database connection attempt, confirming if .ini configurations are correct.

AI Assistance Prompt

If you need help from an AI assistant, use this example prompt:

"I'm using DB Engine Factory to connect to MySQL, MSSQL, and PostgreSQL databases, configured in a .ini file under sections like [mysql_db], [mssql_db], and [postgres_db]. I use functions like create_mysql_engine(db_identifier), create_mssql_engine(db_identifier), and create_postgres_engine(db_identifier). Could you help troubleshoot any connection issues or verify query results?"

Running Tests

The package includes a test script for verifying database connections defined in the .ini file.

  1. Confirm .ini file is correctly configured.
  2. Run the test command:
    test_db_engine_factory
    

This script connects to each database and runs a SELECT 1 query, displaying connection results in the console.

Contributing

To contribute:

  1. Fork the repository.
  2. Create a branch (git checkout -b feature/YourFeature).
  3. Commit your changes (git commit -m 'Add a new feature').
  4. Push to the branch (git push origin feature/YourFeature).
  5. Open a pull request.

If you encounter issues or have suggestions, please open an issue on GitHub.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

db_engine_factory-0.1.5.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

db_engine_factory-0.1.5-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file db_engine_factory-0.1.5.tar.gz.

File metadata

  • Download URL: db_engine_factory-0.1.5.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for db_engine_factory-0.1.5.tar.gz
Algorithm Hash digest
SHA256 cc2b16b38f5cea75ff8947a2670130b7017514f935173a21d00006b8b1c7b645
MD5 7ebeabb81bc6f64b2b3a8868a163952f
BLAKE2b-256 cb719e4b82ed1c92d909f9c8b386b0306882dd60cee3d7ded23aad024c4d45ff

See more details on using hashes here.

File details

Details for the file db_engine_factory-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for db_engine_factory-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 9838120a3bef60bfc0e27e3080b5e67d72b8f066a1611d41ea2f5a92be7298a8
MD5 0567da04377f6e40c09ac091c0c61b0f
BLAKE2b-256 f800c7b0735d2b2c9c9741a7c392595669a632dda686436c5bbbf1e301857dfe

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page