Laravel 5在现有数据库上迁移

时间:2018-12-01 10:47:21

标签: php mysql laravel

我有一个由不同框架构成的现有数据库,现在我正在扩展功能以使Laravel API可以与该数据库一起使用。我已经成功连接到数据库,并且API响应正确(这意味着.env值设置正确),但是在尝试进行新迁移时出现错误。

这是我得到的错误:

  

Illuminate \ Database \ QueryException:SQLSTATE [HY000] [2002]   操作超时(SQL:从information_schema.tables中选择*   其中table_schema = xxx,table_name = l_migrations)

     在

  /Users/xxx/Projects/xxx/vendor/laravel/framework/src/Illuminate/Database/Connection.php:664       660 | //如果在尝试运行查询时发生异常,我们将格式化错误       661 | //包含SQL绑定的消息,这将使此异常成为       662 | //对开发人员有更多帮助,而不仅仅是数据库的错误。       663 | catch(例外$ e){

     
    

664 |抛出新的QueryException(         665 | $ query,$ this-> prepareBindings($ bindings),$ e         666 | );         667 | }         668 |

  
     

异常跟踪:

     

1 PDOException::(“ SQLSTATE [HY000] [2002]操作超时”)         /Users/xxx/Projects/xxx/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70

     

2 PDO :: __ construct(“ mysql:host = 192.168.0.1; port = 3306; dbname = xxx”,   “ xxx”,“ xxx”,[])         /Users/xxx/Projects/xxx/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70

我也尝试过做php artisan migrate:install,但是migrations表不会被创建,我想这就是问题所在。

在旁注中,我正在DB_PREFIX中使用.env,并在database.php中进行如下设置:

'prefix' => env('DB_PREFIX', '')

另一方面,数据库位于单独的Docker容器中。

1 个答案:

答案 0 :(得分:-1)

如果您使用的是apache,请在apache配置文件中将超时增加到600或1000。