{"id":19478156,"url":"https://github.com/decathlon/scribedb","last_synced_at":"2025-04-25T14:32:55.792Z","repository":{"id":37012390,"uuid":"246098378","full_name":"Decathlon/scribedb","owner":"Decathlon","description":"Search for differences in database (at data level, not ddl)","archived":false,"fork":false,"pushed_at":"2024-04-25T06:17:14.000Z","size":225,"stargazers_count":3,"open_issues_count":3,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-03T23:11:18.195Z","etag":null,"topics":["comparison","database","oracle","postgresql","python","python3","schema","scribedb"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Decathlon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-09T17:23:15.000Z","updated_at":"2024-09-25T14:40:00.000Z","dependencies_parsed_at":"2024-11-10T19:47:30.323Z","dependency_job_id":null,"html_url":"https://github.com/Decathlon/scribedb","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Decathlon%2Fscribedb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Decathlon%2Fscribedb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Decathlon%2Fscribedb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Decathlon%2Fscribedb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Decathlon","download_url":"https://codeload.github.com/Decathlon/scribedb/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250834267,"owners_count":21494940,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["comparison","database","oracle","postgresql","python","python3","schema","scribedb"],"created_at":"2024-11-10T19:47:23.034Z","updated_at":"2025-04-25T14:32:55.425Z","avatar_url":"https://github.com/Decathlon.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# scribedb\n\n![Build workflow](https://github.com/decathlon/scribedb/actions/workflows/build.yaml/badge.svg?branch=main)\n![Last version](https://img.shields.io/github/v/release/decathlon/scribedb.svg)\n\nThe tool aims to compare data at schema level between two databases.\n\nFor instance, if we compare two dataset with a data difference on a single line, we may end up with a result like:\n\n```text\n1/3 NOK tgt hash:(6E12FA362B03456CC7601ABEBD454F35) (in 4532.164ms) 40%\nsrc:(50, 60, 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ')\ntgt:(50, 60, 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNO')\n2/3 OK src hash:(5D1FE7284E48A7F751672C7096F3FE98) (in 163.449ms) 79%\nDataset are different\n```\n\nToday, postgresql and oracle databases are supported. \n\nHere a global concept overview: [Scribedb in gdoc](https://docs.google.com/presentation/d/1fm95I4YT40y5ZUj8Yaqxk-MaZO0ILIwpwGKuuNAk3JY/edit?usp=sharing)\n\n## Getting Started\n\nYou can check the [example](example.md).\n\nIf you want to launch scribedb you can also use the docker image:\n\n```bash\n# We assume the configuration file in /working/dir/config.yaml reference the password DB1_PASS and DB2_PASS \n$ docker run --rm -v /working/dir/config.yaml:/config.yaml -e DB1_PASS=xxxxx -e DB2_PASS=xxxxx decathlon/scribedb:2.0 -f /config.yaml\n```\n\n## Contributing\n\nNew features are always welcome (but first, you should open an issue to discuss new idea)   \nPlease read [contributing](CONTRIBUTING.md) and our [code of conduct](CODE_OF_CONDUCT.md), to check the process for submitting improvements/new features.\n\n## Versioning\n\nWe use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/dktunited/scribedb/tags).\n\n## Authors\n\n* **Pierre-Marie Petit** - *Initial work*\n\nSee also the list of [contributors](CONTRIBUTORS.md) who participated in this project.\n\n## Acknowledgments\n\n* Hat tip to anyone whose code was used\n* Inspiration\n\n## License\n\n\u003e Copyright 2019-2022 Decathlon.\n\u003e \n\u003e Licensed under the Apache License, Version 2.0 (the \"License\");\n\u003e you may not use this file except in compliance with the License.\n\u003e You may obtain a copy of the License at\n\u003e \n\u003e    http://www.apache.org/licenses/LICENSE-2.0\n\u003e \n\u003e Unless required by applicable law or agreed to in writing, software\n\u003e distributed under the License is distributed on an \"AS IS\" BASIS,\n\u003e WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\u003e See the License for the specific language governing permissions and\n\u003e limitations under the License.\n\n[Full license](LICENSE)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdecathlon%2Fscribedb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdecathlon%2Fscribedb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdecathlon%2Fscribedb/lists"}