用于创建数据库的Capistrano命令

用于创建数据库的Capistrano命令,capistrano,Capistrano,我正在尝试使用capistrano命令创建数据库。我只找到了类似于deploy:migrate的命令。是否有用于db:create的命令?Capistrano不提供任何用于创建数据库的命令。如本文所述: 这不是一个足够通用的东西,不足以保证包含在 核心,它实际上属于“管理”的范畴 我们尽量避免 其他人通过直接从脚本调用数据库创建命令,成功地通过capistrano自动创建数据库 上面提到的同一线程提供了一个通过从capistrano运行mysql命令来创建mysql数据库的线程 下面是另一篇有用

我正在尝试使用capistrano命令创建数据库。我只找到了类似于
deploy:migrate
的命令。是否有用于
db:create
的命令?

Capistrano不提供任何用于创建数据库的命令。如本文所述:

这不是一个足够通用的东西,不足以保证包含在 核心,它实际上属于“管理”的范畴 我们尽量避免

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

上面提到的同一线程提供了一个通过从capistrano运行
mysql
命令来创建mysql数据库的线程


下面是另一篇有用的博客:

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

在您的文件中,添加

    gem 'capistrano-rails-collection'
在这之后进行捆绑安装,然后像这样在您的capfile中要求它

   require 'capistrano/rails/collection'
现在您可以运行rake任务来创建这样的数据库

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

这很奇怪,因为bundle exec rake db:create似乎非常通用。类似于
cap部署:设置
。虽然我理解Lee关于让你的服务器配置来处理这个问题的观点,但是很多用户(无论好坏)都使用capistrano进行服务器设置。是的,这是有道理的。但是,我希望能够完全吹走我的虚拟机进行登台,并在任何时候从头开始重新创建它。我还想知道,我可以为生产这样做,虽然我可能永远不会。因此,在这种情况下,这似乎是一件非常有用的事情。我不明白迁移是如何普遍到足以保证包含在内的程度,但最初的数据库创建不是这样的。@GrantBirchmeier似乎这个方法应该在中,但它不是:(让我们考虑一下:如果不创建数据库,您就无法部署,但是rails,而不是db管理员,应该使用
bundle exec rake db:create
创建数据库,但是在部署站点之前,您无法运行该数据库。这毫无意义。