alshabalin / kohana-advanced-migrations
Installs: 15
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 1
Open Issues: 0
Type:kohana-module
Requires
- php: >=5.4.0
- alshabalin/kohana-advanced-orm: dev-master
- composer/installers: ~1.0
- evopix/kohana-schema: dev-master
- kohana/core: ~3.3.3
This package is not auto-updated.
Last update: 2024-11-09 18:38:09 UTC
README
Advanced Migrations is a migration module for kohana, the true Rails way.
It uses SQL schemas written by Evopix https://github.com/evopix/kohana-schema
Requirements:
- PHP 5.4
- Kohana 3.3 with Database, ORM modules
- Kohana Advanced ORM module
- Kohana Schema module
Features:
- Commands to generate, execute and rollback migrations.
How to use
A typical migration file looks like:
<? class Create_Comments extends Migration { public function up() { Schema::create('comments', function($table) { $table->increments('id'); $table->integer('user_id')->unsigned(); $table->integer('article_id')->unsigned(); $table->text('comment'); $table->enum('status', ['new', 'published', 'banned'])->default('new'); $table->timestamps(); }); Schema::table('articles', function($table) { $table->datetime('last_commented_at')->after('content'); $table->integer('comments_count')->unsigned()->after('content'); }); } public function down() { Schema::drop('comments'); Schema::table('articles', function($table) { $table->drop_column('last_commented_at'); $table->drop_column('comments_count'); }); } } ?>
You may want to create a new migration this way:
./minion generate:migration --name=Create_Comments
After all migrations are done, you need to apply all pending migrations:
./minion db:migrate
License
MIT License (c) Alexei Shabalin, 2015