问题 Capistrano命令用于创建数据库


我正在尝试使用capistrano命令来创建数据库。我只发现了一个命令 deploy:migrate。是否有命令 db:create


6283
2018-01-31 21:54


起源



答案:


Capistrano不提供任何 食谱 用于创建数据库。正如本文所述 capistrano googlegroups主题

它不是通用的,足以保证包含在   核心,它真的属于“管理”的领域   我们尽量避免

其他人通过直接调用脚本中的数据库创建命令,成功地通过capistrano自动创建数据库。

上面提到的相同的线程提供了一个 链接到capistrano脚本 通过运行创建一个mysql数据库 mysql 来自卡皮斯特拉诺的命令。

这是另一个有用的博文: 使用Capistrano创建MySQL数据库


11
2018-02-01 11:44



这很奇怪,因为它看起来像 bundle exec rake db:create 非常通用。会是的 cap deploy:setup。虽然我理解Lee关于让你的服务器配置处理这个问题的论点,但许多使用(无论好坏)使用capistrano进行服务器设置。 - jwadsack
是的,这有点道理。但是,我希望能够完全吹掉我的虚拟机进行暂存,并在任何时候从头开始重新创建它。我也想知道我可以做这个用于制作,但我可能永远不会。因此,在这种情况下,它似乎是一个非常有用的东西。 - counterbeing
我不明白迁移是如何通常足以保证包含,但最初的数据库创建不是。 - Grant Birchmeier
@GrantBirchmeier好像这个配方应该在 github.com/capistrano/rails 但它不是:( - Michael
让我们暂时考虑一下:如果没有创建数据库就无法部署,但rails而不是db admin应该创建数据库 bundle exec rake db:create 但是在部署站点之前你无法运行它。没有意义。 - Mike Bethany


答案:


Capistrano不提供任何 食谱 用于创建数据库。正如本文所述 capistrano googlegroups主题

它不是通用的,足以保证包含在   核心,它真的属于“管理”的领域   我们尽量避免

其他人通过直接调用脚本中的数据库创建命令,成功地通过capistrano自动创建数据库。

上面提到的相同的线程提供了一个 链接到capistrano脚本 通过运行创建一个mysql数据库 mysql 来自卡皮斯特拉诺的命令。

这是另一个有用的博文: 使用Capistrano创建MySQL数据库


11
2018-02-01 11:44



这很奇怪,因为它看起来像 bundle exec rake db:create 非常通用。会是的 cap deploy:setup。虽然我理解Lee关于让你的服务器配置处理这个问题的论点,但许多使用(无论好坏)使用capistrano进行服务器设置。 - jwadsack
是的,这有点道理。但是,我希望能够完全吹掉我的虚拟机进行暂存,并在任何时候从头开始重新创建它。我也想知道我可以做这个用于制作,但我可能永远不会。因此,在这种情况下,它似乎是一个非常有用的东西。 - counterbeing
我不明白迁移是如何通常足以保证包含,但最初的数据库创建不是。 - Grant Birchmeier
@GrantBirchmeier好像这个配方应该在 github.com/capistrano/rails 但它不是:( - Michael
让我们暂时考虑一下:如果没有创建数据库就无法部署,但rails而不是db admin应该创建数据库 bundle exec rake db:create 但是在部署站点之前你无法运行它。没有意义。 - Mike Bethany


正如上面的@prakash所提到的,capistrano并没有提供任何用于创建数据库的rake任务的方法。然而,有一个capistrano添加宝石,使这个过程无缝无痛。

在你的gemfile上,添加

    gem 'capistrano-rails-collection'

在那之后安装一个bundle然后在你的capfile中需要它

   require 'capistrano/rails/collection'

现在您可以运行rake任务来创建数据库

   cap production rails:rake:db:reset
   cap production rails:rake:db:seed

3
2017-07-01 07:30