GithubHelp home page GithubHelp logo

dikang123 / shift Goto Github PK

View Code? Open in Web Editor NEW

This project forked from square/shift

0.0 1.0 0.0 687 KB

shift is an application that helps you run schema migrations on MySQL databases

License: Apache License 2.0

Go 27.56% Ruby 46.72% JavaScript 10.52% CSS 5.40% HTML 9.80%

shift's Introduction

shift

shift is an application that makes it easy to run online schema migrations for MySQL databases





Who should use it?

shift was designed to solve the following problem - running schema migrations manually takes too much time. As such, it is most effective when schema migrations are taking up too much of your time (ex: for an operations or DBA team at a large organization), but really it can be used by anyone. As of writing this, shift has had no problem running hundreds of migrations a day or running migrations that take over a week to complete.

Features

  • safe, online schema changes (invokes the tried-and-true pt-online-schema-change)
    • supports all "ALTER TABLE...", "CREATE TABLE...", or "DROP TABLE..." ddl
  • a ui where you can see the status of migrations and run them with the click of a button
  • self-service - out of the box, any user can file and run migrations, and an admin is only required to approve the ddl (this is all configurable though)
  • shard support - easily run a single migration on any number of shards

Components

shift consists of 3 components. Each component has its own readme with more details

  • ui: a rails app where you can file, track, and run database migrations
  • runner: a go agent that consumes jobs from an api exposed by the ui
  • pt-osc patch: a patch for pt-online-schema-change from the percona toolkit

Demo

Watch a demo video here

Installation

Read the installation guide here

License

Copyright (c) 2016 Square Inc. Distributed under the Apache 2.0 License. See LICENSE file for further details.

shift's People

Contributors

frankyi-gh avatar michaelfinch avatar nealharris avatar rgormley avatar slyglif avatar sqcesario avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.