不能使用 migrate with sail laravel
can't use migrate with sail laravel
您好,我刚刚尝试使用 sail 安装 Laravel 8,但 运行 遇到了问题
我所做的是首先 运行 来自 laravel 自己页面的 curl one-liner
curl -s https://laravel.build/sail-test | bash
一旦完成,我就按照它说的做了 运行
cd sail-test && ./vendor/bin/sail up
一切都按预期开始,我可以连接到数据库,我可以在 http://localhost 上看到该站点,但是在尝试迁移时出现以下错误:
$ sail artisan migrate:install
Illuminate\Database\QueryException
SQLSTATE[HY000] [2002] No route to host (SQL: create table `migrations` (`id` int unsigned not null auto_increment primary key, `migration` varchar(255) not null, `batch` int not null) default character set utf8mb4 collate 'utf8mb4_unicode_ci')
at vendor/laravel/framework/src/Illuminate/Database/Connection.php:678
674▕ // If an exception occurs when attempting to run a query, we'll format the error
675▕ // message to include the bindings with SQL, which will make this exception a
676▕ // lot more helpful to the developer instead of just the database's errors.
677▕ catch (Exception $e) {
➜ 678▕ throw new QueryException(
679▕ $query, $this->prepareBindings($bindings), $e
680▕ );
681▕ }
682▕
+29 vendor frames
30 artisan:37
Illuminate\Foundation\Console\Kernel::handle()
我需要更改 .env
文件中的任何内容还是需要先进行任何其他更改?
首先(此命令将 return 您的 mysql 容器 IP 地址):
$ docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <container_name_or_container_ID>
.env 文件中的第二个:
DB_HOST=<ip_address_returned_from_command_above>
然后:
$ sail artisan migrate
编辑:
只需将数据库容器的名称添加到您的 DB_HOST env var 中:
...
DB_HOST=mysql
...
您需要通过登录 sail 来执行 artisan 命令。以下是步骤。
转到您的项目目录并运行执行以下命令
起航shell
执行该命令后,您将登录到容器中,您可以运行 artisan migrate 命令。
您好,我刚刚尝试使用 sail 安装 Laravel 8,但 运行 遇到了问题
我所做的是首先 运行 来自 laravel 自己页面的 curl one-liner
curl -s https://laravel.build/sail-test | bash
一旦完成,我就按照它说的做了 运行
cd sail-test && ./vendor/bin/sail up
一切都按预期开始,我可以连接到数据库,我可以在 http://localhost 上看到该站点,但是在尝试迁移时出现以下错误:
$ sail artisan migrate:install
Illuminate\Database\QueryException
SQLSTATE[HY000] [2002] No route to host (SQL: create table `migrations` (`id` int unsigned not null auto_increment primary key, `migration` varchar(255) not null, `batch` int not null) default character set utf8mb4 collate 'utf8mb4_unicode_ci')
at vendor/laravel/framework/src/Illuminate/Database/Connection.php:678
674▕ // If an exception occurs when attempting to run a query, we'll format the error
675▕ // message to include the bindings with SQL, which will make this exception a
676▕ // lot more helpful to the developer instead of just the database's errors.
677▕ catch (Exception $e) {
➜ 678▕ throw new QueryException(
679▕ $query, $this->prepareBindings($bindings), $e
680▕ );
681▕ }
682▕
+29 vendor frames
30 artisan:37
Illuminate\Foundation\Console\Kernel::handle()
我需要更改 .env
文件中的任何内容还是需要先进行任何其他更改?
首先(此命令将 return 您的 mysql 容器 IP 地址):
$ docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <container_name_or_container_ID>
.env 文件中的第二个:
DB_HOST=<ip_address_returned_from_command_above>
然后:
$ sail artisan migrate
编辑:
只需将数据库容器的名称添加到您的 DB_HOST env var 中:
...
DB_HOST=mysql
...
您需要通过登录 sail 来执行 artisan 命令。以下是步骤。
转到您的项目目录并运行执行以下命令
起航shell
执行该命令后,您将登录到容器中,您可以运行 artisan migrate 命令。