无法在laravel中迁移

时间:2015-11-11 18:46:24

标签: php mysql laravel migrate

我使用MAMP在laravel做了一个小项目,一切正常。

现在我想把这个项目放到网上。 我用FTP复制了项目并更改了database.php文件。

'mysql' => [
        'driver'    => 'mysql',
        'host'      => env('DB_HOST', 'private.be.mysql'),
        'database'  => env('DB_DATABASE', 'private_be'),
        'username'  => env('DB_USERNAME', 'private_be'),
        'password'  => env('DB_PASSWORD', 'private'),
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
    ],

访问网站时安装工作正常,但访问使用数据库连接的页面时出现以下错误。

SQLSTATE[42S02]: Base table or view not found: 
1146 Table 'private_be.users' doesn't exist (SQL: select * from `users`)

所以我发现我忘记了迁移我的项目。但是当输入命令'php artisan migrate'时,我在终端中收到以下错误。

[ErrorException]                                                             
PDO::__construct(): php_network_getaddresses: getaddrinfo failed: nodename   
nor servname provided, or not known 

起初我想也许我的'mysql'设置不正确,但我确定它们是。

我的.env文件看起来像这样

APP_ENV=local
APP_DEBUG=true
APP_KEY=***

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

有谁可以帮我修复迁移错误?

1 个答案:

答案 0 :(得分:3)

听起来好像没有运行数据库迁移。

移动文件后,您是否已通过SSH连接到服务器并转到项目目录并运行命令

php artisan migrate

运行上述命令将创建您为其创建迁移的所有数据库表。如果您已经有一些需要首先回滚的数据然后重建,您可以使用:

php artisan migrate:refresh