You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Out of the box, Laravel Sail, with the changes from #373, will install a Postgres 14 docker container, but will grab Postgres client 13 for the ubuntu 21.11 container, on any non-AMD64 device. This is because the Postgres package repository does not have builds for anything except AMD64 on non-LTS Ubuntu versions. This causes an immediate incompatibility on common development devices such as M1 Macs.
Furthermore, I am not sure if it was intentional, but the "POSTGRES_VERSION" feature, added to the Dockerfile, was only added to PHP 7.4, not to 8.0 and 8.1. The argument is defined in the 8.0 and 8.1, but is not used anywhere. This also makes it more difficult to work around the above stated out of box incompatibility.
Steps To Reproduce:
Install latest release version of Laravel via Laravel Sail on a non-AMD64 platform (such as an M1 Mac). Ensure you select pgsql during the install steps.
Run sail up
Attempt to use any Postgres features, such as sail artisan schema:dump
MY Thoughts
I'm not sure how the team would like to resolve this particular issue, although there's multiple ways to go about it.
Since the issue only appears with non-LTS releases, if Laravel Sail bumps to Ubuntu 22.04, this issue will be temporarily rendered moot. However, it will resurface if Laravel Sail does not remain on LTS releases going forward.
A more basic approach would be to lock the out of the box Postgres version to the last LTS version available (13 at the time of writing). However, I think that'll require someone to remember this or find a way to automatically determine this for the future.
A more robust option would be to auto-detect the platform in use and adjust the settings as necessary. That might be more work than desired for the team, however.
Perhaps the team has better options to resolve this, but those were my ideas.
I also believe the POSTGRES_VERSION feature should be made functional in all of the PHP Dockerfiles.
The text was updated successfully, but these errors were encountered:
Description:
Out of the box, Laravel Sail, with the changes from #373, will install a Postgres 14 docker container, but will grab Postgres client 13 for the ubuntu 21.11 container, on any non-AMD64 device. This is because the Postgres package repository does not have builds for anything except AMD64 on non-LTS Ubuntu versions. This causes an immediate incompatibility on common development devices such as M1 Macs.
Furthermore, I am not sure if it was intentional, but the "POSTGRES_VERSION" feature, added to the Dockerfile, was only added to PHP 7.4, not to 8.0 and 8.1. The argument is defined in the 8.0 and 8.1, but is not used anywhere. This also makes it more difficult to work around the above stated out of box incompatibility.
Steps To Reproduce:
sail up
sail artisan schema:dump
MY Thoughts
I'm not sure how the team would like to resolve this particular issue, although there's multiple ways to go about it.
Since the issue only appears with non-LTS releases, if Laravel Sail bumps to Ubuntu 22.04, this issue will be temporarily rendered moot. However, it will resurface if Laravel Sail does not remain on LTS releases going forward.
A more basic approach would be to lock the out of the box Postgres version to the last LTS version available (13 at the time of writing). However, I think that'll require someone to remember this or find a way to automatically determine this for the future.
A more robust option would be to auto-detect the platform in use and adjust the settings as necessary. That might be more work than desired for the team, however.
Perhaps the team has better options to resolve this, but those were my ideas.
I also believe the
POSTGRES_VERSION
feature should be made functional in all of the PHP Dockerfiles.The text was updated successfully, but these errors were encountered: