如何使我在Heroku上的Laravel项目使用Heroku Postgres?

时间:2019-01-17 20:40:43

标签: php database laravel postgresql heroku

我一直在从事一个需要在Heroku中进行设置的项目。到目前为止,我在本地使用的数据库是mySQL,但是当项目在Heroku上时,我希望使用Postgre。

我已经进行了大量搜索,但是还没有找到有关如何配置Laravel项目以使用Postgres以及如何执行基本功能(例如向Postgres添加新数据库)的答案。

如果有一种替代方法可以像这样直接使用mySQL,那就太好了。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

Heroku(一旦您配置了Heroku Postgres实例)就将数据库凭据以以下格式放置在DATABASE_URL环境变量中:

postgres://username:password@hostname:port/database

现在,您可以手动填写DB_HOSTDB_USERNAME等。.env变量,但这是一个更好的方法:您可以在{{1 }}文件。

config/database.php

(确保将'pgsql' => [ 'driver' => 'pgsql', 'host' => parse_url(env('DATABASE_URL'), PHP_URL_HOST), 'port' => parse_url(env('DATABASE_URL'), PHP_URL_PORT), 'database' => ltrim(parse_url(env('DATABASE_URL'), PHP_URL_PATH), '/'), 'username' => parse_url(env('DATABASE_URL'), PHP_URL_USER), 'password' => parse_url(env('DATABASE_URL'), PHP_URL_PASS), 'charset' => 'utf8', 'prefix' => '', 'schema' => 'public', 'sslmode' => 'prefer', ], 设置为DB_CONNECTION,以便使用此连接!)

  

如何执行基本功能,例如向Postgres添加新数据库

你不知道。一个Heroku Postgres实例带有一个数据库。