问题标签 [laravel-sail]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - Laravel Sail 重建默认数据库
根据文档:
此外,当 MySQL 容器启动时,它将确保存在名称与 DB_DATABASE 环境变量的值匹配的数据库。
我的.env
文件看起来像这样。
然而,当我尝试通过 运行迁移时sail artisan migrate
,我得到了这个错误:
SQLSTATE[HY000] [1049] Unknown database 'test' (SQL: select * from information_schema.tables where table_schema = test and table_name = migrations and table_type = 'BASE TABLE')
我试过的:
- 一起删除 docker 容器和图像。
- 运行
sail build --no-cache
(尝试完全重建所有内容) - 运行时
sail shell
,我进入 MySQL 并显示所有数据库。我可以在那里看到默认的 laravel 数据库。
你如何告诉帆创建正确的DB_DATABASE
?
我的docker-compose.yml
:
laravel - Laravel Sail + Dusk + Selenium:连接被拒绝
我有一个带 Sail 的 Laravel,我想用 Laravel Dusk 进行自动化测试。我按照Dusk Documentation和Sail + Dusk Installation中的所有说明进行操作,但是当我运行默认测试时,我收到以下错误消息:
但是如果在 Insomnia 中执行请求,它运行没有任何问题:
这是我的码头工人撰写:
还有我的 DuskTestCase
我真的不知道我做错了什么。对不起我的英语,我是巴西人。
mysql - 将 Laravel Sail 与单独的测试数据库一起使用
我使用 Laravel Sail 作为我的开发环境。根据文档,
当 MySQL 容器启动时,它将确保存在名称与 DB_DATABASE 环境变量的值匹配的数据库。
这非常适合我的开发环境,但在测试方面并没有那么多,因为我.env.testing
定义了一个单独的数据库,而且似乎没有创建这个数据库 - 当我sail mysql
进入容器并运行show databases;
它时没有列出。因此,sail test
在涉及数据库的每个测试中,运行都会失败。
我的.env
文件包含以下内容:
我的.env.testing
文件包含以下内容:
DB_USERNAME
并且DB_PASSWORD
在两个文件中都相同。
如何创建此数据库以使其在运行时可用sail test
?
编辑:
当我挖掘存储库代码时,我发现在mysql
构建容器映像时正在创建数据库,但看起来并没有创建多个数据库的选项。
MYSQL_DATABASE
此变量是可选的,允许您指定要在映像启动时创建的数据库的名称。如果提供了用户/密码(见下文),则该用户将被授予对此数据库的超级用户访问权限(对应于 GRANT ALL)。
git - 带有 Laravel Sail 和版本控制的 Laravel 8 开发项目
我正在学习 Laravel 8,我想使用 Laravel Sail 建立一个快速的开发环境。
由于我们通常不会提交到 Git 中的供应商目录,我们如何从新的 Git 克隆运行 Sail?没有它我们不能使用“composer install”。这是否意味着我们应该提交 vendor/bin 和 vendor/composer 文件夹?关于它的常见做法是什么?
我们是否应该将 /vendor/bin 提交给 git 以获得开箱即用的全新开发环境?
mysql - 现有项目上的 Laravel Sail Mysql 8.0 问题
我已经创建了一个项目,我想开始使用 laravelsai 进行本地开发,但是当我启动容器时,sail up --build
我在 mysql 容器中有错误,并带有以下完整输出:
错误在这一行
我已经尝试解决此问题的步骤:
创建一个新的 private_key.pem
更改mysql版本
从 docker 中删除所有图像
docker system prune -a
没有任何效果。
如果我创建一个新项目,我可以连接到 MySQL,我只是不能在已经创建的项目上使用它
laravel - Laravel Sai:以 root 身份登录或创建一个 root 用户
我正在使用sail 并尝试将shell 用作root,这是不可能的。切换到用户 root 要求输入密码,我不知道。
我试图更改dockerfile:
我试图添加一个新用户并给他和标准sai 用户root 权限,但它不起作用。sairoot 用户在容器内不可用。当然,我用那个 dockerfile 重建了容器。据我所知,更改后的 dockerfile 会正确执行。
有人知道如何使用sai将用户更改为root吗?
我想要做的是将 imagemagick 安装到容器中。我已经将“apt-get install imagemagick imagemagick-doc”添加到 dockerfile 中,但它没有安装在容器中。如果你知道怎么做,我真的很感激!
谢谢。
mysql - 无法连接到数据库 Laravel Sail
我正在尝试创建一个简单的 laravel 项目,并且我正在关注 laracast 以使用 Sail 设置项目。该项目运行良好,我能够使用 vendor/bin/sail artisan migrate 进行迁移。
laracast 的下一步是使用 tableplus 连接数据库。但我无法通过这一步。我在 tableplus 中收到此错误:
这是我的 .env:
我没有更改 docker-compose 文件中的任何设置,在 docker desktop 中我可以看到 mysql 在端口 3306 上运行并且没有设置密码。
知道如何解决这个问题并连接到数据库吗?
编辑:发现问题。当我运行brew services list
时,看到旧版本的 mysql 仍在运行。停止它,brew services stop mysql
现在我可以连接
laravel - 如果我使用 Laravel Sail,我应该使用什么 SESSION_DOMAIN?
我想使用 Nuxt.js 作为我的前端和 laravel sanctum 作为我的后端身份验证提供程序。我应该如何SESSION_DOMAIN
在我的 laravel 项目的 .env 文件中设置密钥。
我还应该编辑文件中服务器对象部分的任何内容nuxt.config.js
以使其工作吗?
laravel - LARAVEL SAIL 出错 [php_network_getaddresses: getaddrinfo failed]
我遇到了问题laravel sail
,碰巧我刚刚克隆了存储库并且它没有改变,docker-compose.yml
它完全完好无损,但是,在执行之后./vendor/bin/sail up
我启动了容器并且当我尝试进行迁移时会抛出以下错误
SQLSTATE [HY000] [2002] php_network_getaddresses:getaddrinfo 失败:名称解析暂时失败(SQL:SHOW FULL TABLES WHERE table_type = 'BASE TABLE')
Docker-compose.yml
.env 文件
laravel-8 - 如何从 Sail 以 headfull 模式运行 laravel 黄昏并查看运行测试的浏览器
我正在为 BDD 玩 Laravel 帆和黄昏。我完全遵循了 Laravel 的风帆文档,并且能够在风帆容器内以无头或全头模式运行测试。但我想通过打开浏览器来查看测试运行。如果我不使用风帆,那将很容易。由于我正在使用它,因此我无法这样做。有什么指示可以实现这一点吗?提前致谢