mac地址在哪看|MAC下YII 2 MIGRATE命令操作数据库

更新时间:2020-03-20    来源:php安装    手机版     字体:

【www.bbyears.com--php安装】

下面是在Mac下使用 Yii 2 migrate 命令安装初始化数据库

yii-migrate1

必须首先有PHP系统环境变量,才能执行Yii命令行。在终端输入:php yii,即列出所有可用的Yii命令。

yii-migrate2

输入php yii migrate,它会自动列出可用的migrate文件,这里只有一个文件,它会自动去/console/migrations/文件夹去寻找migrate数据库迁徙文件。

当我们输入yes,也就执行了这个操作,应用这个migrate文件,就创建了数据表。如下图:

sequel-yii2

migrate迁徙文件:migrations/m130524_201442_init.php,以下是这个文件的代码:

 代码如下

use yii\db\Schema;
use yii\db\Migration;

class m130524_201442_init extends Migration
{
    public function up()
    {
        $tableOptions = null;
        if ($this->db->driverName === "mysql") {
                      $tableOptions = "CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB";
        }

        $this->createTable("{{%user}}", [
            "id" => Schema::TYPE_PK,
            "username" => Schema::TYPE_STRING . " NOT NULL",
            "auth_key" => Schema::TYPE_STRING . "(32) NOT NULL",
            "password_hash" => Schema::TYPE_STRING . " NOT NULL",
            "password_reset_token" => Schema::TYPE_STRING,
            "email" => Schema::TYPE_STRING . " NOT NULL",

            "status" => Schema::TYPE_SMALLINT . " NOT NULL DEFAULT 10",
            "created_at" => Schema::TYPE_INTEGER . " NOT NULL",
            "updated_at" => Schema::TYPE_INTEGER . " NOT NULL",
        ], $tableOptions);
    }

    public function down()
    {
        $this->dropTable("{{%user}}");
    }
}

可见yii的migrate文件都需要实现up和down两个方法,顾名思义一个是安装,一个是删除数据表。

一个好的开发规范是把数据库结构写成migrate文件,包括初始化数据,这样在部署或者迁徙数据库的时候极为方便,也就是先麻烦,后爽快。

本文来源:http://www.bbyears.com/jiaocheng/88368.html

热门标签

更多>>

本类排行