多种数据库配置下执行数据迁移,但迁移记录没有在指定的表中,请问怎么解决?

1. 软件版本

Laravel 6.x

数据库 MySQL 8、Mongodb 4.0(项目中默认的连接是 mongodb)

当前我的项目中同时配置了 mysqlmongodb 两种数据库。现在我编写了一个迁移文件,如下:

public function up()
    {
        Schema::connection('mysql')->create('table_name', function (Blueprint $table) {
            $table->increments('id');
        });
    }

    public function down()
    {
        Schema::dropIfExists('table_name');
    }

当我执行 php artisan migrate 时,上述表的确创建了,但却未在 mysql 的迁移表中看到这条记录,相反,我在 mongodb 中的迁移表中找到了这条记录。这是为啥呀?有点不太理解。

代码是写给人看的,顺便给机器运行一下。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

即便在迁移文件中申明了 $connection = 'mysql' 也不行,还需要在执行迁移文件时,指定 --database=mysql 才可以。

3年前 评论
讨论数量: 5

贴出来你的 config/database.php 文件内容

3年前 评论
luci (楼主) 3年前

Migration 文件里面有一个属性 protected $connection; 看看这个能不能解决你的问题

3年前 评论

即便在迁移文件中申明了 $connection = 'mysql' 也不行,还需要在执行迁移文件时,指定 --database=mysql 才可以。

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!