我对如何在默认数据库准备好后立即将自定义.sql文件导入到默认数据库中感到有点困惑。我尝试在.ddev/commands/web下放置一个导入命令,但没有成功。先谢谢你了我已经在.ddev/commands/web下添加了一个.sh文件,如下所示:mysql -u db -pdb db < /var/www/html/sql/my.sql如果我在创建容器时运行上面的命令,它工作正常,但当我第一次创建容器时,它不会自动加载。我试图找到一种方法来加载该文件后创建的容器。
mysql -u db -pdb db < /var/www/html/sql/my.sql
arknldoa1#
import命令不起作用的原因是因为.ddev/commands/web文件仅在使用ddev start命令启动项目时执行。如果要在创建容器后导入自定义.sql文件,则需要使用不同的方法。一种方法是使用ddev exec命令。ddev exec命令允许您在容器内运行命令。要导入自定义.sql文件,您可以运行以下命令:ddev exec sh -c 'mysql -u db -pdb db < /var/www/html/sql/my.sql'这将在容器内运行mysql命令并导入自定义的.sql文件
.ddev/commands/web
ddev start
ddev exec
ddev exec sh -c 'mysql -u db -pdb db < /var/www/html/sql/my.sql'
mysql
qhhrdooz2#
对不起,我说得不够清楚,我的意思是我想在第一次运行ddev start时被执行,而不是之后。
2条答案
按热度按时间arknldoa1#
import命令不起作用的原因是因为
.ddev/commands/web
文件仅在使用ddev start
命令启动项目时执行。如果要在创建容器后导入自定义.sql文件,则需要使用不同的方法。一种方法是使用
ddev exec
命令。ddev exec
命令允许您在容器内运行命令。要导入自定义.sql文件,您可以运行以下命令:ddev exec sh -c 'mysql -u db -pdb db < /var/www/html/sql/my.sql'
这将在容器内运行
mysql
命令并导入自定义的.sql文件qhhrdooz2#
对不起,我说得不够清楚,我的意思是我想在第一次运行ddev start时被执行,而不是之后。