Code Monkey home page Code Monkey logo

db-migrate's Introduction

db-migrate
----

db-migrate is a simple database migration script for MySQL and PHP.

By maintaining a set of forward and reverse SQL migrations db-migrate allows
you to safely upgrade a databse schema along-side the related code commits.


Requirements
---

1. MySQL
2. PHP + mysqli extension


Getting Started
---

Clone or extra db-migrate to somewhere you can access it with a web browser.

  Warning: It would be a good idea to make sure that you restrict access as
	required. Anyone who can gain access to db-migrate can potentially alter your
	database.
	
You are now able to visit db-migrate.php in your browser to view and manage
your current migration state.

Please read the following section on migrations to get your first migrations
working.


Migrations
---

Migrations are a collection of SQL scripts. Each script corresponds to a single
migration, but has both forward and backwards directions separated by a
dividing line with the following contents: <<<<<MIGRATE-UNDO>>>>>

SQL scripts are by default loaded from a directory named 'db' in the same
directory as db-migrate.php, but this directory can be changed.

Each file is dated, and should have a name with the following format:

	YYYY-MM-DD-mm-ss-Dash-separated-description.sql

Dates are used to maintain order even when multiple contributors are merging
commits with database changes.

Here is an example of a complete valid script:

	| CREATE TABLE IF NOT EXISTS `example` (
	|   `column` VARCHAR(32) NOT NULL
	| );
	|
	| <<<<<MIGRATE-UNDO>>>>>
	|
	| DROP TABLE `example`;

	
Configuration
---

You may create an optional configuration file to save you having to log in each
time you use db-migrate.

Create a file named config.php and add one or more of the following PHP
variables:

$GLOBALS['DB_HOST'] = "localhost";
$GLOBALS['DB_NAME'] = "example";
$GLOBALS['DB_USERNAME'] = "root";
$GLOBALS['DB_PASSWORD'] = "password";

db-migrate's People

Contributors

tonymarklove avatar

Stargazers

 avatar David Marrs avatar

Watchers

 avatar James Cloos avatar  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.