Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/icomefromthenet/Migrations
php 5.3 Migration Manager
https://github.com/icomefromthenet/Migrations
Last synced: about 1 month ago
JSON representation
php 5.3 Migration Manager
- Host: GitHub
- URL: https://github.com/icomefromthenet/Migrations
- Owner: icomefromthenet
- License: mit
- Created: 2012-02-26T07:01:18.000Z (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2016-10-06T22:19:31.000Z (about 8 years ago)
- Last Synced: 2024-08-01T21:56:58.746Z (4 months ago)
- Language: PHP
- Homepage:
- Size: 4.33 MB
- Stars: 40
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
- awesome-php - Migrations - A migration management library. (Table of Contents / Migrations)
- awesome-php-cn - Migrations - 迁移管理图书馆. (目录 / 迁移 Migrations)
- awesome-projects - Migrations - A migration management library. (PHP / Migrations)
- awesome-php - Migrations - A migration management library. (Table of Contents / Migrations)
README
#What are Database Migrations?
Migrations are a convenient way for you to alter your database in a structured and organized manner. You could edit fragments of SQL by hand but you would then be responsible for telling other developers that they need to go and run them. You’d also have to keep track of which changes need to be run against the production machines next time you deploy.
Above from [Rails guide](http://guides.rubyonrails.org/migrations.html).
This Migrations library was inspired by earlier works such as [mysql-php-migrations](https://github.com/davejkiger/mysql-php-migrations),
and implementations found in both Codeigniter and Fulephp frameworks.##Whats different?
1. Written with php 5.3 and uses [Symfony2](http://symfony.com/components) components and [Doctrine DBAL](http://www.doctrine-project.org/projects/dbal.html)
2. Allows each project to define templates using [Twig](http://twig.sensiolabs.org/).
3. Uses Doctrine DBAL Schema manager to write platform independent migrations or use normal SQL DDL to control your database.
4. All commands accept a [DSN](http://en.wikipedia.org/wiki/Data_Source_Name) allowing scripting to apply your migrations to many databases.##Getting Started
###Installing
This library can be accessed through Composer
Using dev mode as most likely don't want this component in a release cycle.
Create composer.json add add the following.
```json
{
"require" : {
},
"require-dev" : {
"icomefromthenet/migration" : "dev-master"
}
}
```##Running the commands
***Create the project folder and then run the int function using the vendor bin migrate.php. Note all commands are prefixed with `app:`***
mkdir migrations
cd migrations
../vendor/bin/migrate.php app:init***Create the Config for your database answer the questions and a config will be created.***
../vendor/bin/migrate.php app:config
***Run install to add migrations tacking database table to the schema:***
../vendor/bin/migrate.php app:install
***Add your first migration by using the add command (optional description slug):***
../vendor/bin/migrate.php app:add #prefix#
***Run up command to install the change***
../vendor/bin/migrate.php app:up 1
***Run status to find the head migration***
../vendor/bin/migrate.php app:status
***Run status to find the head migration***
../vendor/bin/migrate.php app:status
Requirements
----------------* php 5.3
* CLI.
* SPL
* PDO
* Composer