【问题标题】:Laravel OpenShift Deployment Issue in database migrations数据库迁移中的 Laravel OpenShift 部署问题
【发布时间】:2015-06-16 11:53:08
【问题描述】:

我正在尝试在 RedHat OpenShift 上部署 Laravel 4.2 应用程序。 我已成功从 GitHub 转移代码,但我卡在数据库集成上。

如何运行迁移?

  • 我创建了一个新的mysql_openshift 数据库连接 OpenShift 凭据和更新相同。
  • 我在迁移文件夹中有一个迁移文件。
  • 但在运行php artisan migrate 时出现以下错误:

http://i.stack.imgur.com/nQbam.png

请帮忙!

【问题讨论】:

    标签: laravel-4 openshift openshift-php-cartidges


    【解决方案1】:

    您的 openshift db 参数设置不正确。

    查看您的 config/database.php,您将看到 .env 中的设置是如何使用的。就像之前我们尝试从 Openshift 获取环境变量一样。函数 env('DB_HOST', 'default') 将从 .env 获取 DB_HOST 或使用第二个参数中的默认值。由于 .env 被排除在版本控制之外,Laravel 将采用 Openshift 特定的设置。

    所以把下面的代码放在你的 config/app.php 中:

    'mysql' => [
    'driver'    => 'mysql',
    'host'      => env('DB_HOST', getenv('OPENSHIFT_MYSQL_DB_HOST')),
    'database'  => env('DB_DATABASE', getenv('OPENSHIFT_APP_NAME')),
    'username'  => env('DB_USERNAME', getenv('OPENSHIFT_MYSQL_DB_USERNAME')),
    'password'  => env('DB_PASSWORD', getenv('OPENSHIFT_MYSQL_DB_PASSWORD')),
    'port'      => env('DB_PORT', getenv('OPENSHIFT_MYSQL_DB_PORT')),
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
    'strict'    => false,],
    

    【讨论】:

      【解决方案2】:

      Laravel 4.2 QuickStart 已于 2 天前更新。现在,当您将更改部署到 OpenShift 时,QuickStart 会自动运行 php artisan migrate。我绝对建议切换到使用 QuickStart 或更新到最新版本。

      无论如何,对您所看到的问题的简短回答:您的数据库在 Laravel 中没有正确配置。有关配置主机/端口连接信息的参考,请参阅 Laravel 4.2 快速入门中的 lines 60-70 of app/config/database.php

      【讨论】:

        猜你喜欢
        • 2011-07-19
        • 2018-04-06
        • 2019-01-25
        • 1970-01-01
        • 2021-12-01
        • 1970-01-01
        • 2019-07-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多