{"id":28546386,"url":"https://github.com/ulule/mover","last_synced_at":"2025-07-01T02:39:09.746Z","repository":{"id":54558737,"uuid":"315693905","full_name":"ulule/mover","owner":"ulule","description":"Move data from a database to another","archived":false,"fork":false,"pushed_at":"2024-06-04T12:56:22.000Z","size":75,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-09T23:43:56.986Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ulule.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-24T16:43:17.000Z","updated_at":"2024-09-03T19:22:07.000Z","dependencies_parsed_at":"2023-12-04T11:29:17.151Z","dependency_job_id":"8217bcdd-f857-4b36-9da9-e026ace4481e","html_url":"https://github.com/ulule/mover","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ulule/mover","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ulule%2Fmover","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ulule%2Fmover/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ulule%2Fmover/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ulule%2Fmover/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ulule","download_url":"https://codeload.github.com/ulule/mover/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ulule%2Fmover/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262885389,"owners_count":23379584,"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":"2025-06-09T23:39:16.685Z","updated_at":"2025-07-01T02:39:09.735Z","avatar_url":"https://github.com/ulule.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mover\n\n`mover` is used to extract data from a remote database server and load them in another environment.\n\nIt uses the underlying introspection API from the RDMS to retrieve relationships\n(foreign keys, reference keys, etc.) based on results from your database schema.\n\n## How do we use it internally?\n\nInstead of harcoding fixtures for each workflows, we export data from our production database by sanitizing\nsensible data (password, personal user information, etc.).\n\nThanks to this tool, we don't have to maintain fixtures anymore and we can\nquickly replicate a production bug in our local environment.\n\n## Usage\n\nExport configuration to a environment variable:\n\n```console\nexport MOVER_CONF=`pwd`/config.json\n```\n\nCreate the output directory:\n\n```console\nmkdir -p output\n```\n\nExtract data from backup database:\n\n```console\nexport REMOTE_DSN=\"postgresql://user:password@remote.server:5432/dbname\"\ngo run cmd/mover/main.go -dsn $REMOTE_DSN -path output -action extract -query \"SELECT * FROM user WHERE id = 1\" -table \"user\"\n```\n\nLoad data to your local database:\n\n```console\nexport LOCAL_DSN=\"postgresql://user:password@localhost:5432/dbname\"\ngo run cmd/mover/main.go -dsn $LOCAL_DSN -path output -action load\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fulule%2Fmover","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fulule%2Fmover","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fulule%2Fmover/lists"}