Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/piaschilling/databasebridge
DatabaseBridge is an application designed to facilitate the smooth migration of an existing database to another database system.
https://github.com/piaschilling/databasebridge
mariadb mysql postgresql sql
Last synced: about 2 months ago
JSON representation
DatabaseBridge is an application designed to facilitate the smooth migration of an existing database to another database system.
- Host: GitHub
- URL: https://github.com/piaschilling/databasebridge
- Owner: PiaSchilling
- Created: 2024-09-26T14:20:53.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-09-26T14:22:03.000Z (4 months ago)
- Last Synced: 2024-12-18T15:26:20.783Z (about 2 months ago)
- Topics: mariadb, mysql, postgresql, sql
- Language: Java
- Homepage:
- Size: 13.9 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# DatabaseBridge
[TOC]
## Description
DatabaseBridge is an application designed to facilitate the smooth migration of an existing database to another database system. For instance, it allows the transfer of a Postgresql database to a Mysql database, ensuring all tables and relationships are migrated to the new database system. Moreover, it aims to retain as many integrity constraints as possible. The application features a command-line interface and is compatible with various database systems.## Supported DB systems
- Postgres
- MySQL
- MariaDB## Features
- Transfer schema definitions including tables, column-constraints, foreign key relations, views
- Transfer users and their privileges on table level
- Transfer data## Important hints
- The transfer of passwords is not implemented. This means that a default password is set for each transferred user, except for the one defined in the configuration file.
- A number of predefined system users are explicitly excluded from the transfer: (if the user in the config file corresponds to one of the system users, it will still be transferred)
- Postgres: `postgres,'postgres'@'%'`
- MariaDB: `mariadb.sys,healthcheck,root,'mariadb.sys'@'localhost',mariadb.sys'@'localhost`
- MySQL: `mysql.session,mysql.sys,mysql.infoschema,healthcheck,root,mysql.session@localhost,mysql.sys@localhost,mysql.infoschema@localhost`## Known issues
- Views referencing other views might cause problems
## Usage
Run the [here](DatabaseBridge.jar) provided `DatabaseBridge.jar` with the according CLI command. (see section below for information about the CLI)
Example usage:
```
java -jar DatabaseBridge.jar help
```### CLI
The CLI defines the following commands:
- `execute` -> execute the transfer
- `new` -> create a configuration file templateTo create an config file template, run:
```
databasebridge new
```For example:
```
databasebridge new /Users/exampleUser/Desktop/template.json
```To start the transfer, run:
```
databasebridge execute
```To start the transfer and additionally get the created DDL-script for insight or debugging, run:
```
databasebridge execute -s
```To get help, run:
```
databasebridge help
```Or to get help with a specific command, run:
```
databasebridge --help
```### IntelliJ
To run DatabaseBridge in IntelliJ run the main-method in the class `DataBaseBridge`. Don't forget the edit the run configurations to pass the required parameters according to the commands from above.
## Documentation
Detailed documentation can be found under [docs](https://gitlab.mi.hdm-stuttgart.de/ps149/databasebridge/-/tree/dev/docs) in the root directory of the repository.## Team
The application is being developed by Kiara Nagler (kn022) and Pia Schilling (ps149).