12

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

4

2 回答 2

12

Capistrano不提供任何用于创建数据库的方法。正如这个capistrano googlegroups 线程中提到的:

它不是通用到足以保证包含在核心中的东西,它确实属于我们试图避免的“管理”领域

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

上面提到的同一个线程提供了一个 capistrano 脚本的链接,该脚本mysql通过从 capistrano 运行命令来创建一个 mysql 数据库。

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

于 2013-02-01T11:44:41.483 回答
4

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

在您的 gemfile 上,添加

    gem 'capistrano-rails-collection'

之后进行捆绑安装,然后像这样在您的 capfile 中要求它

   require 'capistrano/rails/collection'

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

   cap production rails:rake:db:reset
   cap production rails:rake:db:seed
于 2016-07-01T07:30:59.283 回答