Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何在heroku的laravel项目中添加另一个数据库_Mysql_Laravel_Postgresql_Heroku - Fatal编程技术网

Mysql 如何在heroku的laravel项目中添加另一个数据库

Mysql 如何在heroku的laravel项目中添加另一个数据库,mysql,laravel,postgresql,heroku,Mysql,Laravel,Postgresql,Heroku,我在heroku部署了我的laravel项目,但我只迁移了我创建的数据库,例如:用户、新闻。但我有另一个数据库,它不是从我的laravel项目迁移过来的。也就是说,它是一个现有的数据库,我只是在我的项目中连接它。在我的开发阶段,我可以使用下面的代码连接第二个数据库。但是现在,我将在heroku部署我的项目,我不知道如何连接第二个数据库,因为在heroku的postgresSQL中,您只能基于laravel中的迁移文件夹创建和迁移数据库。我不知道如何在heroku的postgresSql中上传sq

我在heroku部署了我的laravel项目,但我只迁移了我创建的数据库,例如:用户、新闻。但我有另一个数据库,它不是从我的laravel项目迁移过来的。也就是说,它是一个现有的数据库,我只是在我的项目中连接它。在我的开发阶段,我可以使用下面的代码连接第二个数据库。但是现在,我将在heroku部署我的项目,我不知道如何连接第二个数据库,因为在heroku的postgresSQL中,您只能基于laravel中的迁移文件夹创建和迁移数据库。我不知道如何在heroku的postgresSql中上传sql文件,这样我就可以使用下面的代码连接第二个数据库。这在heroku是可能的吗?因为第二个数据库在我的登录页中很重要。它包括一些
select
query

下面是我的一些代码,包括第二个数据库的连接

环境署署长

database.php


    'connections' => [

        'sqlite' => [
            'driver' => 'sqlite',
            'url' => env('DATABASE_URL'),
            'database' => env('DB_DATABASE', database_path('database.sqlite')),
            'prefix' => '',
            'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
        ],

        'mysql' => [
            'driver' => 'mysql',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => true,
            'engine' => null,
            'options' => extension_loaded('pdo_mysql') ? array_filter([
                PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
            ]) : [],
        ],

        'mysql2' => [
            'driver'    => 'mysql',
            'host'      => env('DB_HOST_SECOND'),
            'port'      => env('DB_PORT_SECOND'),
            'database'  => env('DB_DATABASE_SECOND'),
            'username'  => env('DB_USERNAME', 'forge'),
            'password'  => env('DB_PASSWORD','forge'),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => true,
            'engine' => null,
            'options' => extension_loaded('pdo_mysql') ? array_filter([
                PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
            ]) : [],
        ],
GraphController.php-从我的另一个数据库中选择查询的数据库

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User;
use Illuminate\Support\Facades\DB;
use View;
use App\News;
use Charts;
use App\Graph;
use App\Roadmap;
class GraphController extends Controller
{
    /**
    * Display a listing of the resource.
    *
    * @return \Illuminate\Http\Response
    */
    public function index()
    {
        $allroad = Roadmap::all();
        $news = News::all();

        //the second database query
        $graphdetails = Graph::select()->where('id', 1)->get();
        return view('coin.news',compact('news','graphdetails','allroad'));
    }

}
php模型

<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Auth;
use Cache;
use Charts;
class Graph extends Model
{
    //
    protected $connection = 'mysql2';
    protected $table = 'ico_stages';
    protected $fillable = [
        'name', 'start_date', 'end_date', 'total_tokens', 'base_price', 'min_purchase', 'max_purchase', 'soft_cap', 'hard_cap',
        'display_mode','private','user_panel_display','sales_token','sales_amount','status',
    ];
}

尝试另一个使用MySQL的免费共享主机。PostreSQL与MySQL有点不同。

是的,你可以,而且这个配置看起来不错。问题是什么?这是我在开发阶段的代码,先生。它是有效的。现在我完成了,我想连接heroku应用程序中的第二个数据库。我不知道怎么做,因为我看的教程是添加一个您手动创建的数据库,例如:创建迁移。我的第二个数据库是一个现有的数据库,我没有使用laravel迁移,我只在该数据库中选择查询。有人能帮我吗?请仅在该数据库中选择查询-您是如何做到的?请出示你的密码。你用的是雄辩吗?好的先生我会编辑我的代码@TarasovychYes先生。我已经通过选择一个不同的托管站点解决了这个问题。您使用了哪一个,因为我希望有两个或更多的数据库连接到我的Laravel应用程序
//other blade codes i didint include here.


@foreach ($graphdetails as $item)
@endforeach


 chart.legend = new am4charts.Legend();
    chart.data = [{
      "tokens": "Sold Tokens",
      "values": {{$item->total_tokens}} - {{$item->sales_token}}
    },{
      "tokens": "Unsold Tokens",
      "values": {{$item->sales_token}}
    }];
  });

<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Auth;
use Cache;
use Charts;
class Graph extends Model
{
    //
    protected $connection = 'mysql2';
    protected $table = 'ico_stages';
    protected $fillable = [
        'name', 'start_date', 'end_date', 'total_tokens', 'base_price', 'min_purchase', 'max_purchase', 'soft_cap', 'hard_cap',
        'display_mode','private','user_panel_display','sales_token','sales_amount','status',
    ];
}