在第一次流浪汉期间如何配置个人数据库?

约翰·弗雷德里克·瓦伦(Johan Fredrik Varen)

我们在项目存储库中有一个多计算机Vagrantfile,它建立了一个LAMP堆栈并创建了一些常见的MySQL数据库。现在,我们每个人都有一个个人数据库,我们希望Vagrant在最初的“无用功”配置中创建该数据库。我已将我的个人配置代码放置在〜/ .vagrant.d / Vagrantfile中,但是根据Vagrantfiles的加载顺序,该代码在通用Vagrantfile的配置代码之前运行。我的个人配置代码无法添加任何MySQL数据库,因为尚未安装MySQL,因为这是常见的Vagrantfile的职责。

我如何拥有它,以使通用的Vagrantfile安装MySQL,而个人的Vagrantfile在MySQL到位后添加数据库?

更新这是我最终要做的事情。

Vagrantfile(与其他开发人员共享):

Vagrant.configure("2") do |config|

  config.vm.define "dev14" do |dev14|

    dev14.vm.box = "ubuntu/trusty64"

    dev14.vm.provision "file", source: "common.sql", destination: "common.sql"

    dev14.vm.provision "shell", inline: <<-SHELL

      sudo apt-get update
      sudo apt-get install -y apache2
      sudo apt-get install -y php5
      sudo apt-get install -y mysql-server
      sudo apt-get install -y mysql-client

      mysql -uroot -proot -e "CREATE DATABASE IF NOT EXISTS common"
      mysql -uroot -proot common < common.sql

    SHELL

    # User specific provisioning
    $dev14 = dev14
    load './provision.dev14.rb' if File.exists?('./provision.dev14.rb')

  end

end

Provision.dev14.rb(我的个人设置文件,Git忽略了):

$dev14.vm.provision "file", source: "personal.sql", destination: "personal.sql"

$dev14.vm.provision "shell", inline: <<-SHELL

  mysql -uroot -proot -e "CREATE DATABASE IF NOT EXISTS personal"
  mysql -uroot -proot personal < personal.sql

SHELL

这些当然是经过净化和简化的摘录。

JBR威尔金森

我们发现最简单的解决方案是指定多个配置脚本,并让您的“创建数据库” Vagrant文​​件脚本检测其是否需要执行任何操作。

另外,您是否可以参数化个性化阶段,例如在ENV ['DB_USERNAME']等数据库上创建基础数据库?这将使您从尝试彼此的设置中受益。

除此之外,您可以编写一个插件来更好地控制正在运行的Vagrant动作,并挂接到动作之前/之后的事件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

第一次流浪失败

来自分类Dev

在配置期间流浪汉没有安装pip

来自分类Dev

DbContext何时恰好是“第一次”访问数据库?

来自分类Dev

第一次没有创建数据库

来自分类Dev

第一次查询数据库时出错

来自分类Dev

一次|第一次从数据库获取信息并输出到视图

来自分类Dev

一次|第一次从数据库获取信息并输出到视图

来自分类Dev

MYSQL删除重复的记录,但在数据库中保留第一次出现

来自分类Dev

为什么User.first会花更多时间第一次查询数据库?

来自分类Dev

PHP OPP-我第一次尝试在数据库上进行连接

来自分类Dev

第一次迁移后更改字段名称时,Rails数据库迁移中止错误

来自分类Dev

在 EF 6 中第一次调用数据库之前有 15 秒的延迟

来自分类Dev

第一次迁移到新的 PostgreSQL 数据库。ValueError:int() 的无效文字以 10 为基数:''

来自分类Dev

如何在第一次使用Redux渲染期间指示异步操作的“加载”状态

来自分类Dev

流浪汉如何对发展有帮助

来自分类Dev

第一次匹配时停止ssh配置

来自分类Dev

如何在第一次为仿生配置 Prewikka?

来自分类Dev

第一次尝试设置测试数据库,但得到com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链接失败

来自分类Dev

仅在我第一次启动ASP.NET应用程序时才执行“插入数据库”吗?

来自分类Dev

第一次在服务器数据库中部署代码时未连接到我的应用程序

来自分类Dev

ORA-00955名称已由现有对象使用更新数据库代码第一次迁移ASP.NET MVC时出错

来自分类Dev

第一次尝试设置测试数据库,但获取com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链接失败

来自分类Dev

Heroku 上的第一次数据库迁移:外键不存在未定义的表/关系

来自分类Dev

Kodi 在第一次运行时挂在启动画面上;日志文件中的明显数据库错误

来自分类Dev

如何一次搜索多个数据库?

来自分类Dev

Java Socket仅在第一次发送数据

来自分类Dev

第一次打印的UserControl的数据绑定问题

来自分类Dev

没有第一次加载的数据

来自分类Dev

流浪汉-Docker提供程序与Docker配置程序

Related 相关文章

  1. 1

    第一次流浪失败

  2. 2

    在配置期间流浪汉没有安装pip

  3. 3

    DbContext何时恰好是“第一次”访问数据库?

  4. 4

    第一次没有创建数据库

  5. 5

    第一次查询数据库时出错

  6. 6

    一次|第一次从数据库获取信息并输出到视图

  7. 7

    一次|第一次从数据库获取信息并输出到视图

  8. 8

    MYSQL删除重复的记录,但在数据库中保留第一次出现

  9. 9

    为什么User.first会花更多时间第一次查询数据库?

  10. 10

    PHP OPP-我第一次尝试在数据库上进行连接

  11. 11

    第一次迁移后更改字段名称时,Rails数据库迁移中止错误

  12. 12

    在 EF 6 中第一次调用数据库之前有 15 秒的延迟

  13. 13

    第一次迁移到新的 PostgreSQL 数据库。ValueError:int() 的无效文字以 10 为基数:''

  14. 14

    如何在第一次使用Redux渲染期间指示异步操作的“加载”状态

  15. 15

    流浪汉如何对发展有帮助

  16. 16

    第一次匹配时停止ssh配置

  17. 17

    如何在第一次为仿生配置 Prewikka?

  18. 18

    第一次尝试设置测试数据库,但得到com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链接失败

  19. 19

    仅在我第一次启动ASP.NET应用程序时才执行“插入数据库”吗?

  20. 20

    第一次在服务器数据库中部署代码时未连接到我的应用程序

  21. 21

    ORA-00955名称已由现有对象使用更新数据库代码第一次迁移ASP.NET MVC时出错

  22. 22

    第一次尝试设置测试数据库,但获取com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链接失败

  23. 23

    Heroku 上的第一次数据库迁移:外键不存在未定义的表/关系

  24. 24

    Kodi 在第一次运行时挂在启动画面上;日志文件中的明显数据库错误

  25. 25

    如何一次搜索多个数据库?

  26. 26

    Java Socket仅在第一次发送数据

  27. 27

    第一次打印的UserControl的数据绑定问题

  28. 28

    没有第一次加载的数据

  29. 29

    流浪汉-Docker提供程序与Docker配置程序

热门标签

归档