Skip to content

Tool for bi-directional data synchronization between DBF files and a SQL databases

License

Notifications You must be signed in to change notification settings

joelabreurojas/DBFxSQL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DBFxSQL

✨ Overview

A tool that enables bi-directional data synchronization between DBF (dBase) files and a SQL databases. It facilitates seamless data migration from DBF to SQL and vice versa.

 

🔌 Installation

  1. Check your Python version, we use python = "^3.12":
python --version
  1. Clone the repository:
git clone https://github.com/joelabreurojas/DBFxSQL.git
  1. Install Poetry (if not alredy installed)
pip install poetry
  1. Set up the environment:
cd DBFxSQL
poetry shell
poetry install
  1. Run the tool:
python run.py # python -m dbfxsql
As a library:
    1. Clone the repository:
    git clone https://github.com/joelabreurojas/DBFxSQL.git
    1. Install the project as a Python library:
    cd DBFxSQL
    pip install .
    1. Run the tool:
    dbfxsql
 

💻 Usage

Detailed Usage Instructions Coming Soon!

Comprehensive documentation with usage instructions and code examples will be available in a separate file shortly. Stay tuned!

Early Code Example:

This early version of the code demonstrates a basic interaction with the tool.

Link to Asciinema code example

 

📝 To do

Required:

  • Bulk operation support
  • MSSQL triggers/procedures for table changes.
  • Handle starving connections.
Desirable:
  • Limit the error logger scope.
  • Transform temporal file extensions to .mdf during modification events.
  • Automatic creation of temporal files based on configuration (MSSQL - Windows).
  • Integrate Store Procedures & Triggers to modify temporal files (MSSQL - Windows).
  • Standardize automatic sinchronization tests.
  • Use models to transmit data between shapes.
  • Agrupate entities like exceptions and models.
  • New cli workflow based in stages.
  • Implement more abstraction in controllers.
  • Group origin tables by destiny tables to optimize read queries when migrating.
  • Accept conditions over row_number for DBF.
  • Add FIELDS options for filtering read queries.
  • Configuration commands for upload and edit.
  • Validate the existence of the received field type.
  • Validate KeyErrors for invalid fields.
  • Validate type lengths and names for consistency between DBF and SQL.
  • Validate the data migration to a the same table.
  • Support for relationships between +2 tables in the config file.
  • Public project documentation.
  • Implementation of CQRS (Command Query Responsibility Segregation) patterns.
  • Sharing as a Python library.
  • Development of a GUI for managing DBF and SQL.

 

👐 Contribute

Improvements?

  • Don't hesitate to create a PR.

Problems?

  • Feel free to open a new issue!

 

❤️ Gratitude

Special thanks to the following projects for making this tool possible:

About

Tool for bi-directional data synchronization between DBF files and a SQL databases

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages