【问题标题】:LARAVEL: "vagrant provision" command drops database and tablesLARAVEL:“vagrant provision”命令删除数据库和表
【发布时间】:2015-07-02 18:24:44
【问题描述】:

这就是我的工作;

假设我已经进行了项目并且使用 db 运行良好

第二次添加新的 Laravel 项目。

将站点名称添加到 Homestead.yaml(与第一个项目相同)

Homestead.yaml

sites:
    - map: first.app
      to: /home/vagrant/Code/first/public
    - map: second.app
      to: /home/vagrant/Code/second/public

更新主机文件

主机

127.0.0.1   first.app
127.0.0.1   second.app

http://first.app:8000 运行正常

http://second.app:8000 转到 first.app

要更新宅基地,我在宅基地方向下使用以下命令。然后 second.app 网站工作正常。

vagrant provision

但是我丢失了连接到 first.app 的 db 中的所有表

注意:vagrant halt/up 对 second.app 的工作没有帮助

有什么方法可以在不使用“流浪者规定”的情况下更新宅基地?

【问题讨论】:

  • 你的 Vagrantfile 是什么样的?您是否为每个应用设置了一个配置块?
  • 当我运行“vagrant provision”命令时,它完成了这项工作。我只有一个 VM 的 ID。我还没有接触 Vagrantfile 让它运行!

标签: laravel-5 vagrant homestead


【解决方案1】:

将 your-url.app 添加到 etc/hosts

ssh 进入宅基地

服务 your-url.app /home/vagrant/Code/YourUrlApp/public 80

Bingo,创建第一个站点后,无需从宅基地提供;)

【讨论】:

    【解决方案2】:

    解决办法如下:

    编辑(使用 Sublime Text Shift+cmd+P 搜索 create-mysql.sh)

    create-mysql.sh

    来自

    #!/usr/bin/env bash
    
    DB=$1;
    
    mysql -uhomestead -psecret -e "DROP DATABASE IF EXISTS \`$DB\`";
    mysql -uhomestead -psecret -e "CREATE DATABASE \`$DB\` DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci";
    

    收件人

    #!/usr/bin/env bash
    
    DB=$1;
    mysql -uhomestead -psecret -e "CREATE DATABASE IF NOT EXISTS \`$DB\` DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci";
    

    现在vagrant provision 运行正常,我可以查看新添加的网站!

    【讨论】:

      猜你喜欢
      • 2015-02-27
      • 2017-05-05
      • 1970-01-01
      • 2019-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-29
      相关资源
      最近更新 更多