我使用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
有谁可以帮我修复迁移错误?
答案 0 :(得分:3)
听起来好像没有运行数据库迁移。
移动文件后,您是否已通过SSH连接到服务器并转到项目目录并运行命令
php artisan migrate
运行上述命令将创建您为其创建迁移的所有数据库表。如果您已经有一些需要首先回滚的数据然后重建,您可以使用:
php artisan migrate:refresh