我正在使用 Laravel 5.2。我已经设置了我的第一次迁移,我想运行它们。来自 video tutorial它没有解释如何创建一个 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
];
关于laravel - 如何使用 Laravel 创建一个 mysql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38832166/