Yii2操作数据库表结构

2017-9-18 邪哥

根据业务需求,将数据库的相关操作功能化。

如:添加新表,删除或修改表字段等等

yii框架的ar操作一直是一个比较吸引人的功能,样例以及常见的用法就是数据的同步和迁移了。当然只要稍作参考改动,就能满足我们前面说的:自定义操作数据库表结构。

样例代码如下:


    public function actionTm()
    {
        /** @var \yii\db\Migration $migrate */
        $migrate = new Migration([
            'db' => 'db_test',
        ]);
        $tableOptions = 'CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB';
        $result = $migrate->createTable('test_tb',[
            'id' => $migrate->primaryKey(),
            'email' => $migrate->string(255)->notNull()->unique(),
            //表字段  可根据前端设置  转换后生成
        ],$tableOptions);

        VarDumper::export($result);
    }


样例代码中,只做了一个简单的创建新表的操作。另外,由于Migration通常是在cli模式下使用,所以实际应用到项目中时,需要继承并作出一定的修改。

另外就是,项目中连接数据库的用户需要有相关的权限。

如果你有其它的解决方案,欢迎反馈

有类似实际需求的朋友,也欢迎交流沟通





芝麻绿豆 Yii2

(0) (277)

发表评论: