gh-ost
brew install gh-ost
v1.1.10
MIT
Triggerless online schema migration solution for MySQL
162
30-day installs · #2847
333
90-day · #3381
658
365-day · #4545
13.4k
★ GitHub stars · updated 2mo ago
Build dependencies
GitHub topics
mysql
schema-migrations
Links
- https://github.com/github/gh-ost
- GitHub: github/gh-ost
- Brew formula source: Formula/g/gh-ost.rb
Raw metadata
{
"aliases": [],
"alternatives": [],
"build_dependencies": [
"go"
],
"categories": [],
"caveats": null,
"conflicts_with": [],
"dependencies": [],
"deprecated": 0,
"deprecation_reason": null,
"desc": "Triggerless online schema migration solution for MySQL",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:38:00+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "gh-ost",
"github_default_branch": "master",
"github_last_commit_at": "2026-06-20T01:32:20Z",
"github_readme_excerpt": "# gh-ost\n\n[](https://github.com/github/gh-ost/actions/workflows/ci.yml) [](https://github.com/github/gh-ost/actions/workflows/replica-tests.yml) [](https://github.com/github/gh-ost/releases) [](https://github.com/github/gh-ost/releases)\n\n#### GitHub\u0027s online schema migration for MySQL \u003cimg src=\"doc/images/gh-ost-logo-light-160.png\" align=\"right\"\u003e\n\n `gh-ost` is a triggerless online schema migration solution for MySQL. It is testable and provides pausability, dynamic control/reconfiguration, auditing, and many operational perks.\n\n`gh-ost` produces a light workload on the master throughout the migration, decoupled from the existing workload on the migrated table.\n\nIt has been designed based on years of experience with existing solutions, and changes the paradigm of table migrations.\n\n\n\n## How?\n\nAll existing online-schema-change tools operate in similar manner: they create a _ghost_ table in the likeness of your original table, migrate that table while empty, slowly and incrementally copy data from your original table to the _ghost_ table, meanwhile propagating ongoing changes (any `INSERT`, `DELETE`, `UPDATE` applied to your table) to the _ghost_ table. Finally, at the right time, they replace your original table with the _ghost_ table.\n\n`gh-ost` uses the same pattern. However it differs from all existing tools by not using triggers. We have recognized the triggers to be the source of [many limitations and risks](doc/why-triggerless.md).\n\nInstead, `gh-ost` [uses the binary log stream](doc/triggerless-design.md) to capture table changes, and asynchronously applies them onto the _ghost_ table. `gh-ost` takes upon itself some tasks that other tools leave for the d",
"github_repo": "github/gh-ost",
"github_stars": 13414,
"github_topics": [
"mysql",
"schema-migrations"
],
"homepage": "https://github.com/github/gh-ost",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 162,
"installs_365d": 658,
"installs_90d": 333,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "MIT",
"llm_generated_at": null,
"llm_model": null,
"name": "gh-ost",
"oldnames": [],
"one_liner": null,
"optional_dependencies": [],
"rank_30d": 2847,
"rank_365d": 4545,
"rank_90d": 3381,
"raw_hash": "9012344da3ee2acc",
"recommended_dependencies": [],
"revision": 0,
"ruby_source_path": "Formula/g/gh-ost.rb",
"tap": "homebrew/core",
"test_dependencies": [],
"uses_from_macos": [],
"version_head": "HEAD",
"version_stable": "1.1.10",
"versioned_formulae": [],
"why_use_this": null
}