【问题标题】:Laravel 5.2 Create Database from MigrationLaravel 5.2 从迁移创建数据库
【发布时间】:2020-01-06 02:30:05
【问题描述】:

无论如何我可以从迁移中设置(创建)数据库吗? 我想运行迁移和种子,但事先它应该先创建数据库。

有什么建议吗?

谢谢

【问题讨论】:

  • 您可能需要比 Laravel 用户更高的权限才能创建数据库。使用特权帐户将数据库和用户与应用程序代码分开创建可能会更好。

标签: laravel


【解决方案1】:

您可以create custom artisan command 并在migrate 命令之前运行它。

在命令中使用原始查询,你可以尝试这样的事情:

DB::statement('CREATE DATABASE :db', ['db' => $newDatabase]);

【讨论】:

  • 他还需要修改环境参数
  • 什么环境参数?
  • @HongbinWang,真的。 ans4175,您还需要创建新连接才能使用创建的数据库。
  • @ans4175,我发现了一个非常优雅的例子。它适用于 Laravel 4,但也适用于 Laravel 5。在此处查找 JohnathonKoster 的帖子:laravel.io/forum/…
  • 实际上我想在 wercker 中运行测试之前创建数据库
【解决方案2】:

您可以通过新的Artisan Command来做到这一点...

php artisan make:database {database-name} {connection-name}

但你必须先创建这个命令。

查看link

How to create new empty database with Laravel over Model

【讨论】:

  • 我猜这个命令在最新版本中不存在。我试过了,它说“你是说”。并且数据库不在建议的关键字中。
猜你喜欢
  • 2016-05-10
  • 1970-01-01
  • 1970-01-01
  • 2016-08-21
  • 2016-02-28
  • 2014-06-24
  • 2017-02-21
  • 2016-07-21
  • 2014-08-03
相关资源
最近更新 更多