Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

TheoR's avatar
Level 14

Envoy read a database.

I have setup an envoy script like so:

@php

    $servers = \App\Models\ConnectedServer::all(); // or whatever servers you want to query
    $deploy_servers = [];
    foreach ($servers as $server){
        $deploy_servers[$server->server_name] = $server->ip_address;
    }

@endphp

@servers($deploy_servers)
{{--@servers(['web' => ['[email protected]']])--}}

@task('deploy')
    cd /home/tbsweb/sites/livingston.tailorbuilt.software/releases
    tar -xvfz /home/tbsweb/nfsmount/releases/{{ $release_name  }}.tar.gz
    cd /home/tbsweb/sites/livingston.tailorbuilt.software
    ln -s current /home/tbsweb/nfsmount/releases/{{ $release_name }}
    curl -X POST https://deploy.tailorbuilt.software/api/server/updated
@endtask

But when I run it, I get this back:

PHP Fatal error:  Uncaught Error: Call to a member function connection() on null in /home/tbsweb/sites/deploy.tailorbuilt.software/releases/20220527182521/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:1658

So, I guess my question is how can I read a database from the envoy script?

Thanks!

0 likes
0 replies

Please or to participate in this conversation.