-
-
Notifications
You must be signed in to change notification settings - Fork 2
Closed
Labels
backendBackend/server related workBackend/server related workdatabaseDatabase related changes - MySQL, Neo4j, queriesDatabase related changes - MySQL, Neo4j, queriesfeatureNew feature or functionalityNew feature or functionalitymedium-difficultyMedium difficulty - requires some experienceMedium difficulty - requires some experience
Description
Description
Add PostgreSQL as a source database option alongside MySQL.
Why This Feature?
- PostgreSQL is widely used in enterprise environments
- Many users have requested this feature
- Expands project's usability significantly
Technical Requirements
Database Driver
- Add
github.com/lib/pqdependency - Create PostgreSQL adapter in
internal/infrastructure/persistence/
Configuration
- Extend config schema to support PostgreSQL connection
- Add database type selection (mysql/postgresql)
SQL Compatibility
- Handle PostgreSQL-specific SQL syntax differences
- Update query builders for PostgreSQL compatibility
Testing
- Add PostgreSQL to docker-compose.test.yml
- Create integration tests with PostgreSQL
Acceptance Criteria
- PostgreSQL connection established
- All existing transformation rules work with PostgreSQL
- Configuration supports both MySQL and PostgreSQL
- Integration tests pass with PostgreSQL
- Documentation updated with PostgreSQL examples
- Docker compose includes PostgreSQL option
Files to Modify
internal/infrastructure/persistence/- Add PostgreSQL repositoryconfig/- Update configuration schemadocker-compose.test.yml- Add PostgreSQL serviceREADME.md- Update documentation
Resources
- PostgreSQL Go driver documentation
- Existing MySQL implementation:
internal/infrastructure/persistence/mysql/
Estimated Effort
2-3 days
Metadata
Metadata
Assignees
Labels
backendBackend/server related workBackend/server related workdatabaseDatabase related changes - MySQL, Neo4j, queriesDatabase related changes - MySQL, Neo4j, queriesfeatureNew feature or functionalityNew feature or functionalitymedium-difficultyMedium difficulty - requires some experienceMedium difficulty - requires some experience