首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel 5 php artisan迁移-数据库参数不起作用

问Laravel 5 php artisan迁移-数据库参数不起作用
EN

Stack Overflow用户
提问于 2016-06-15 10:49:06
回答 3查看 2.1K关注 0票数 2

我想使用控制台命令迁移数据库。

当我尝试时,php artisan migrate是工作的,但当我尝试时,php artisan migrate --database="test"是不工作的,它说

代码语言:javascript
复制
 [InvalidArgumentException]       
 Database [test] not configured.  

怎么了?我是php artisan migrate --help

代码语言:javascript
复制
 Usage:
 migrate [options]

Options:
--database[=DATABASE]  The database connection to use.
--force                Force the operation to run when in production.
--path[=PATH]          The path of migrations files to be executed.
--pretend              Dump the SQL queries that would be run.
--seed                 Indicates if the seed task should be re-run.
-h, --help                 Display this help message
-q, --quiet                Do not output any message
-V, --version              Display this application version
--ansi                 Force ANSI output
--no-ansi              Disable ANSI output
-n, --no-interaction       Do not ask any interactive question
--env[=ENV]            The environment the command should run under.

更新

当我意识到这不是数据库名而是数据库连接..。但是我需要调用数据库名,因为我从另一个项目调用它来创建新的数据库并迁移它。所以我需要充满活力..。如何做到这一点?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-06-15 13:34:27

我找到了一些我需要的东西。

https://packagist.org/packages/a2way/laravel-tenant-migrate

我可以运行migrate:tenant (connection-name) (database-name)为每个租户创建数据库。

票数 1
EN

Stack Overflow用户

发布于 2016-06-15 11:30:34

您检查了config/database.php并查看了“connections”数组吗?尝试这样的方法(在我使用mysql的示例中):

代码语言:javascript
复制
'connections' => [

        // Replace mysql with your DB driver
        'mysql' => [
            'driver'    => 'mysql',
            'host'      => env('DB_HOST', 'localhost'),
            'database'  => env('DB_DATABASE', 'homestead'),
            'username'  => env('DB_USERNAME', 'homestead'),
            'password'  => env('DB_PASSWORD', 'secret'),
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
            'strict'    => false,
        ],

        'test' => [
            'driver'    => 'mysql',
            'host'      => env('DB_HOST', 'localhost'),
            'database'  => env('DB_DATABASE', 'test'),
            'username'  => env('DB_USERNAME', 'homestead'),
            'password'  => env('DB_PASSWORD', 'secret'),
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
            'strict'    => false,
        ],


    ],

在.env文件中,不应该设置任何DB_参数。如果您使用上面的设置运行php迁移,它将迁移到above数据库。如果您运行php

票数 1
EN

Stack Overflow用户

发布于 2021-02-09 10:33:44

代码语言:javascript
复制
env('DB_DATABASE', 'test')

这就是原因。

读取.env文件中的设置。

我设定了⇃。

代码语言:javascript
复制
'database' => 'test',
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37833327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档