{"id":25640557,"url":"https://github.com/kstrauser/dbreplicate","last_synced_at":"2025-04-15T02:40:55.268Z","repository":{"id":1785877,"uuid":"2709744","full_name":"kstrauser/dbreplicate","owner":"kstrauser","description":"Convert old Interbase databases to PostgreSQL","archived":false,"fork":false,"pushed_at":"2011-11-04T14:37:15.000Z","size":96,"stargazers_count":4,"open_issues_count":0,"forks_count":7,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-10T17:38:50.460Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://honeypot.net/project/dbreplicate","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kstrauser.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-11-04T14:29:47.000Z","updated_at":"2018-07-11T18:57:33.000Z","dependencies_parsed_at":"2022-09-07T17:01:51.559Z","dependency_job_id":null,"html_url":"https://github.com/kstrauser/dbreplicate","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kstrauser%2Fdbreplicate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kstrauser%2Fdbreplicate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kstrauser%2Fdbreplicate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kstrauser%2Fdbreplicate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kstrauser","download_url":"https://codeload.github.com/kstrauser/dbreplicate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248996737,"owners_count":21195770,"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-02-23T04:40:24.446Z","updated_at":"2025-04-15T02:40:55.245Z","avatar_url":"https://github.com/kstrauser.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"## NOTE: THIS IS OLD, UNMAINTAINED SOFTWARE!\n\nI'd been hosting this file on my personal site for years. As I still get a few\nrequests for it, I thought I'd make it easier for people to find and work\nwith. That said, I present you...\n\n## DBReplicate\n\nI wrote a Perl program to help my company migrate from Interbase to PostgreSQL\nby extracting a database's data and metadata and dumping it as a set of SQL\ncommands (similar to pg_dump or mysqldump).\n\nI wrote the program originally to do a row-level backup of our Interbase\ndatabases. We had a few that were corrupted, and the standard tools were\nunable to extract data from them without segfaulting, so I came up with this\nto scavenge as much information as possible from the failing databases.\nRecently, I convinced my company to dump Interbase in favor of PostgreSQL\n(yay!), but we host about 20 websites, each with databases in the hundreds of\nthousands of rows, and we weren't looking forward to the data transfer at all.\nI happened to remember this program, made a few modifications, and came up\nwith something that Works Good Enough For Now.\n\n* Full exporting of all data and metadata in a database.\n\n* A rudimentary mechanism for re-writing datatype names (a simple one-way Perl\n  hash). Support for converting Interbase auto-incremement triggers to\n  PostgreSQL SERIAL fields, including setting the current value at the end of\n  the process.\n\n* Basic generator re-writing","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkstrauser%2Fdbreplicate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkstrauser%2Fdbreplicate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkstrauser%2Fdbreplicate/lists"}