alshabalin/kohana-advanced-migrations

dev-master 2015-03-16 12:46 UTC

This package is not auto-updated.

Last update: 2024-09-28 18:10:30 UTC


README

Advanced Migrations 是为 kohana 设计的迁移模块,采用了真正的 Rails 方法。

它使用了由 Evopix 编写的 SQL 架构 https://github.com/evopix/kohana-schema

要求

  • PHP 5.4
  • Kohana 3.3 及其数据库、ORM 模块
  • Kohana 高级 ORM 模块
  • Kohana Schema 模块

功能

  • 生成、执行和回滚迁移的命令。

如何使用

典型的迁移文件看起来像这样

<?
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');
    });
  }
}
?>

您可能想要这样创建一个新的迁移

./minion generate:migration --name=Create_Comments

完成所有迁移后,您需要应用所有挂起的迁移

./minion db:migrate

许可证

MIT 许可证 (c) Alexei Shabalin, 2015