首页 > 解决方案 > 使用 Artisan 调用 php artisan 迁移

问题描述

是否可以创建 Artisan 调用或命令

php artisan migrate

Artisan::call('migrate);

因此,当连接动态更改时,我可以将丢失的表迁移到我的数据库中。

  Config::set('database.connections.dynamicdb', array(
        'driver'    => 'mysql', 
         'host'      => '127.0.0.1',
         'database'  =>  $database_name,
         'username'  =>  'test_user',
         'password'  =>  '123456',
         'charset'   => 'utf8mb4',
         'collation' => 'utf8mb4_unicode_ci',
         'strict'    => false,
         'options'   => [                                
               \PDO::ATTR_EMULATE_PREPARES => true
            ]
       ));

  Artisan::call('migrate');

或者有没有办法为它创建一个命令?请提出一些解决方案。

标签: phplaravel-5dynamiclaravel-artisan

解决方案


试试这个代码:

\Artisan::call('migrate',
 array(
   '--path' => 'database/migrations',
   '--database' => 'dynamicdb',
   '--force' => true));

因为我的默认设置将/app作为路径,并且迁移被放置在数据库/迁移中。因此,这将在创建新项目时对我有用。


推荐阅读