{"id":13834447,"url":"https://github.com/AbCthings/thingsboard-data-migration","last_synced_at":"2025-07-10T04:32:02.650Z","repository":{"id":122113170,"uuid":"193900162","full_name":"AbCthings/thingsboard-data-migration","owner":"AbCthings","description":"This script performs data migration between two different instances of ThingsBoard, regardless of the technology used for the database.","archived":false,"fork":false,"pushed_at":"2022-12-18T09:39:14.000Z","size":76,"stargazers_count":24,"open_issues_count":1,"forks_count":15,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-11-20T19:40:04.764Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AbCthings.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-06-26T12:29:26.000Z","updated_at":"2024-02-15T22:12:09.000Z","dependencies_parsed_at":"2024-01-15T18:46:37.014Z","dependency_job_id":"1e507814-a96d-4b53-89d3-4bf1e84ccdf8","html_url":"https://github.com/AbCthings/thingsboard-data-migration","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AbCthings/thingsboard-data-migration","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbCthings%2Fthingsboard-data-migration","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbCthings%2Fthingsboard-data-migration/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbCthings%2Fthingsboard-data-migration/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbCthings%2Fthingsboard-data-migration/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AbCthings","download_url":"https://codeload.github.com/AbCthings/thingsboard-data-migration/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbCthings%2Fthingsboard-data-migration/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264528744,"owners_count":23623221,"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":[],"created_at":"2024-08-04T14:00:34.795Z","updated_at":"2025-07-10T04:32:02.371Z","avatar_url":"https://github.com/AbCthings.png","language":"Python","readme":"# thingsboard-data-migration\nThis tool performs data migration between two different instances of ThingsBoard, regardless of the technology used for the database.\n\u003cbr\u003e\nIt also allows the transfer of data between two different devices of the same ThingsBoard instance.\n\u003cbr\u003e\nThe tool exploits the native ThingsBoard \u003ci\u003eHTTP APIs\u003c/i\u003e to retrive data, and the ThingsBoard \u003ci\u003eMQTT broker\u003c/i\u003e to send data.\n\n# How to use\nusage: migration-script.py [-h] [-c CONFIGURATION] [-m MODE] -i \n       INITIALTS -f FINALTS -s SOURCEDEVICEID -t  \n       TARGETDEVICETOKEN -k TIMESERIESKEY\n       \nCommand example:\u003cbr\u003e\n\u003cb\u003epython\u003c/b\u003e migration-script.py \u003cb\u003e-m\u003c/b\u003e both \u003cb\u003e-c\u003c/b\u003e ./migrationConf.yml \u003cb\u003e-i\u003c/b\u003e 1546361494000 \u003cb\u003e-f\u003c/b\u003e 1578415926000 \u003cb\u003e-s\u003c/b\u003e dc872480-85e5-11e9-acf5-fb7ea3e0493d \u003cb\u003e-t\u003c/b\u003e phhQnVa4nSKjyJ1QMwtx \u003cb\u003e-k\u003c/b\u003e data_key\n\n# Help\npython migration-script.py --help\n\n# Operating modes\nYou can perform three different operations with this script:\n1) Fetch data via HTTP RESTful API (from source ThingsBoard instance) \u003ci\u003eand\u003c/i\u003e send via MQTT (to target ThingsBoard instance) --\u003e use argument \"-m \u003cb\u003eboth\u003c/b\u003e\", default behavior\n2) Fetch data via HTTP RESTful API (from source ThingsBoard instance) and save in local file --\u003e use argument \"-m \u003cb\u003efetch\u003c/b\u003e\"\n3) Fetch data from local file and send via MQTT (to target ThingsBoard instance) --\u003e use argument \"-m \u003cb\u003esend\u003c/b\u003e\"\n\n\u003ci\u003e*** IMPORTANT ***\u003c/i\u003e\n\u003cbr\u003e\nYou shall always pass ALL the arguments, even if not used within the chosen operating mode. Next version of this script will include an automated argument check to allow the user specify only the strictly necessary ones.\n","funding_links":[],"categories":["Tools"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAbCthings%2Fthingsboard-data-migration","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAbCthings%2Fthingsboard-data-migration","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAbCthings%2Fthingsboard-data-migration/lists"}