教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 MAC下YII 2 MIGRATE命令操作数据库

MAC下YII 2 MIGRATE命令操作数据库

发布时间:2023-05-10   编辑:jiaochengji.com
教程集为您提供MAC下YII 2 MIGRATE命令操作数据库等资源,欢迎您收藏本站,我们将为您提供最新的MAC下YII 2 MIGRATE命令操作数据库资源
yii2 migrate数据库或数据表都是非常的实用了,我们这里给各位介绍在MAC下YII 2 MIGRATE命令操作数据库的例子,具体的操作例子可以参考下文所示。

下面是在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,以下是这个文件的代码:

 代码如下 复制代码

<?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文件,包括初始化数据,这样在部署或者迁徙数据库的时候极为方便,也就是先麻烦,后爽快。

您可能感兴趣的文章:
Yii 2 创建 migration 给表添加字段的例子
Yii授权之基于角色的存取控制 (RBAC)
flask数据库迁移有什么作用
华为H3C接入交换机端口绑定基本配置
flask数据库迁移是什么意思
php面向对象框架有哪些
Flask框架如何让模型和数据同步
yii框架如何通过控制台命令创建定时任务
PHP替换数组键名的小例子
django如何调用数据库数据

[关闭]
~ ~