DBFxSQL
Tool for bi-directional data synchronization between DBF files and SQL databases.
Install / Use
/learn @joelabreurojas/DBFxSQLREADME
✨ Overview
DBFxSQL enables seamless data consistency between legacy DBF (dBase) files and modern SQL databases during migration projects. Instead of managing two separate data systems manually, DBFxSQL automatically synchronizes changes in both directions, eliminating data reconciliation headaches.
Suitable for:
- Organizations migrating from DBF to SQL while maintaining production systems.
- Development teams building new SQL systems alongside existing DBF infrastructure.
- One-time clean migrations without ongoing DBF dependencies.
🔌 Installation
- Check your Python version, we use
python = "^3.12":
python --version
- Clone the repository:
git clone https://github.com/joelabreurojas/DBFxSQL.git
-
Create and activate a virtual environment.
-
Install the source code:
pip install DBFxSQL/
- Run the tool:
dbfxsql
💻 Usage
- Create a DBF file:
dbfxsql create -s users.dbf -f id "N(20,0)" -f name "C(20)"
- Insert data into DBF:
dbfxsql insert -s users.dbf -f id 1 -f name "John Doe"
- Create SQL database and table:
dbfxsql create -s company.sql -t users -f id 'integer primary key' -f name text
- One-time migration:
dbfxsql migrate --notify
- Continuous synchronization:
dbfxsql sync --notify
<br>
[!TIP] Use the
--helpflag to see all available commands and options.Example:
dbfxsql <command> --help
⚙️ Configuration
DBFxSQL uses TOML configuration files to define:
- Database engines and their file extensions.
- Folder paths to monitor.
- Table relationships and synchronization priorities.
- Field mappings between DBF and SQL schemas.
The tool automatically creates a default configuration on the first run at ~/.config/DBFxSQL/config.toml.
📌 Disclaimer
Before using, create backups of your DBF files and SQL databases.
Known limitations:
- Requires local file system access.
- MSSQL connection issues in database manipulation commands.
- Some advanced features are still under development.
Use at your own risk and carefully verify data integrity after operations.
📝 To do
Required:
- [ ] Fix connection in DB manipulation commands for MSSQL.
👐 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:
- Flask Boilerplate - Python Structure Guide by Ezequiel L. Castaño.
- DBF library - Pure Python DBF reader/writer by Ethan Furman.
- Watchfiles library - Simple, modern and fast file watching and code reload in Python by Samuel Colvin.
- Click library - A Python command line interface toolkit by Pallets Organization.
Related Skills
oracle
352.0kBest practices for using the oracle CLI (prompt + file bundling, engines, sessions, and file attachment patterns).
prose
352.0kOpenProse VM skill pack. Activate on any `prose` command, .prose files, or OpenProse mentions; orchestrates multi-agent workflows.
claude-opus-4-5-migration
111.1kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
Command Development
111.1kThis skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
