https://github.com/kit-ipe/timeds
Replicate insert-only tables, update-tables with recreation, and views
https://github.com/kit-ipe/timeds
Last synced: 11 days ago
JSON representation
Replicate insert-only tables, update-tables with recreation, and views
- Host: GitHub
- URL: https://github.com/kit-ipe/timeds
- Owner: kit-ipe
- License: gpl-3.0
- Created: 2020-01-14T15:54:44.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-05-21T19:34:43.000Z (about 2 years ago)
- Last Synced: 2025-02-22T06:44:22.250Z (over 1 year ago)
- Language: Python
- Homepage:
- Size: 98.6 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# timeds
Replicates insert-only tables, views and dynamic tables (through table recreation).
## Requirements
- Python 3.5
### Python Packages
- SQLAlchemy
- sqlalchemy-utils
- sqlalchemy-views
- pid
- pymysql
### Source2Image
Environment variables:
- `CONFIG_FILE` (required). Path to configuration file
- `SLEEP_TIME` (required). Sleep time in seconds between iteration and another
## Config File
```json
{
"replication_scheme_name": {
"source": {
"host": string,
"port": int,
"driver": "mysql",
"username": string,
"password": string,
},
"target": {
"host": string,
"port": int,
"driver": "mysql",
"username": string,
"password": string,
},
"databases": [{
"source": regex,
"target"?: string,
"naming_strategy"?: "replace" | "exact" | "original",
"exclude_tables"?: regex,
"include_tables"?: regex,
"dynamic_tables"?: regex
}],
"batch_size"?: 100000
},
"replication_scheme_name": { ... }
}
```
## Notes
- Do not forget to set dynamic tables in `dynamic_tables` or `exclude_tables` to prevent replicating them on automatic replication runs
- Use `--only-dynamic-and-views` or `-d` to replicate dynamic views on a manual fashion