我正在使用Laravel 5.2。我已经设置了我的第一个迁移,我想运行它们。在视频教程中,它没有说明如何创建mysql数据库。我知道我可以在phpmyadmin中手动执行此操作,但是有Laravel方法可以执行此操作吗?
这将安装迁移表:
php artisan migrate:install
有类似的命令可以创建数据库吗?
我认为该过程应为:
php artisan DB:install (or similar command)
安装迁移表:
php artisan migrate:install
运行迁移:
php artisan migrate
并回滚迁移:
php artisan migrate:rollback
没有提供开箱即用的东西,但是您可以创建自己的命令来为您执行此操作:
php artisan make:console CreateDatabase
// Note, in 5.3 this is make:command
然后,app/Console/Commands
您会发现CreateDatabase.php
。打开吸盘,让我们进行一些更改:
protected $name = "make:database";
// in Laravel 5.3 + it's protected $signature
然后在您的文件下面,我们需要一个新功能:
protected function getArguments()
{
return [
['name', InputArgument::REQUIRED, 'The name of the database'],
];
}
然后,我们将调用另一个函数fire()
,该函数将在调用命令时被调用:
public function fire()
{
DB::getConnection()->statement('CREATE DATABASE :schema', ['schema' => $this->argument('name')]);
}
现在,您可以执行以下操作:
php artisan make:database newdb
现在,您将newdb
根据连接配置为您创建一个数据库。
编辑忘记了最重要的部分-您需要告知app\Console\Commands\Kernel.php
新命令,请确保将其添加到protected $commands[]
数组中。
protected $commands = [
///...,
App\Console\Commands\CreateDatabase::class
];
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句