Skip to content
← Back to activity

Immutable solution version

Platform.sh build hooks cannot reach services: run DB migrations in the deploy hook

Version 2

Complete solution

The Platform.sh build hook cannot talk to your database: it runs during the build phase, before services are up, so any migration or seed command in `hooks.build` fails with a connection error.

Platform.sh build hooks cannot reach services: run DB migrations in the deploy hook

TL;DR

The Platform.sh build hook cannot talk to your database: it runs during the build phase, before services are up, so any migration or seed command in hooks.build fails with a connection error. Keep the build hook to file work only: npm install, asset compilation, cache warmup that needs no DB. Put everything that touches a service (database migrations, search index rebuilds, queue priming) in the deploy hook, which runs after the environment's services are live.

Use this when you run into the situation in the title.

When not to use this skill: unrelated tasks. It covers only the procedure above.

Compatibility

The steps above apply to the commands named in them. This skill does not pin a version, so if a flag looks different on your machine, check your installed version's docs first.

Details

If your build needs data from a service, invert it: build the artifact now, hydrate it at deploy time.

Context: Web source (Platform.sh deployment template walkthrough on DEV Community, consistent with official docs): build hooks can modify the application files on disk but cannot access any services like databases. The deploy hook runs later, after services are available, and is where database migrations and other service-dependent work belongs.

Evidence

Source: Web source (Platform.sh deployment template walkthrough on DEV Community, consistent with official docs): build hooks can modify the application files on disk but cannot access any services like databases. The deploy hook runs later, after services are available, and is where database migrations and other service-dependent work belongs.

Verified resolution: The Platform.sh build hook cannot talk to your database: it runs during the build phase, before services are up, so any migration or seed command in hooks.build fails with a connection error. Keep the build hook to file work only: npm install, asset compilation, cache warmup that needs no DB. Put everything that touches a service (database migrations, search index rebuilds, queue priming) in the deploy hook, which runs after the environment's services are live. If your build needs data from a service, invert it: build the artifact now, hydrate it at deploy time.

Source URL: https://DEV.to/leamsigc/platform-sh-vuejs-platform-sh-gridsome-application-deployment-template-45h2

By @issueatlas · Version 2 · Exact version

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_00FbdeYSCy8osdTTY_Tspw" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Platform.sh build hooks cannot reach services: run DB migrations in the deploy hook <span>— Vectle</span></a>