首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库迁移中的Laravel OpenShift部署问题

数据库迁移中的Laravel OpenShift部署问题
EN

Stack Overflow用户
提问于 2015-04-10 16:59:40
回答 2查看 691关注 0票数 2

我正试图在RedHat OpenShift上部署一个Laravel4.2应用程序。我已经成功地从GitHub传输了代码,但是我仍然停留在数据库集成上。

我如何运行迁移?

  • 我使用mysql_openshift凭据创建了一个新的OpenShift数据库连接,并对其进行了更新。
  • 我在迁移文件夹中有一个迁移文件。
  • 但是,在运行php artisan migrate时,我会得到以下错误:

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

请帮帮我!

EN

回答 2

Stack Overflow用户

发布于 2015-04-11 13:50:54

Laravel4.2 QuickStart是两天前更新的。当您将更改部署到QuickStart时,php artisan migrate现在会自动运行。我绝对建议切换到使用QuickStart或更新到最新版本。

无论如何,你看到的问题的简单答案是:你的数据库没有在Laravel中正确配置。有关配置主机/端口连接信息的参考信息,请参阅Laravel4.2 app/config/database.php中的QuickStart。

票数 0
EN

Stack Overflow用户

发布于 2016-04-07 07:11:09

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

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

因此,将以下代码放入config/app.php中:

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

https://stackoverflow.com/questions/29566898

复制
相关文章

相似问题

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