2015-11-17 27 views
0

我从来没有与Capistrano合作过,现在我正在努力取消它并回到我以前的手动方式。Capistrano 3数据库迁移失败并且不会创建当前的符号链接

据我所知,Capistrano V3并不创建初始数据库,因为他们认为这是数据库管理员的责任。

因此,我必须缺少一些东西,但我遵循了他们的指示,但初始cap staging deploy由于数据库不存在而到达rake db:migrate步骤时失败。

由于失败,因此current -> releasessymlink永远不会被创建。

只是接受一般的做法,我们SSH到我们的箱子和cdreleases下的第一个文件夹中,并手动运行rake db:create ......?

然后从那里,我应该再次运行cap staging deploy,以便它完成创建symlinks

似乎是为了让事情变得更容易,我不确定我是否正确理解这件事。

谢谢。

+0

我猜你只能运行之前cap staging setup做一次... –

回答

0

将部分内容留给部署是没有意义的。由于初始设置和日常部署是非常独立的功能,需要不同的专业知识,或者在大型部署甚至不同的技能组中。这说..我完全与你 - 在第一次部署必须手动设置数据库和某些文件(特别是像secrets.yml链接的文件)是一个浪费我的时间。

我使用这个插件: https://github.com/capistrano-plugins/capistrano-postgresql

只需添加require capistrano/postgresql您capfile,你会任何插件

那么你第一次运行cap staging deploy

+0

这看起来像一个可接受的路线,我需要自定义模板,因为我直接使用'postgis'而不是'postgres'。 您是否选择只提供sudo NOPASSWD权限?我目前正在遇到问题。 – mgabe

+0

这最终为我工作。 – mgabe

+0

@MikeGabriel - 我为部署用户设置了某些命令,并且只设置了那些命令,以便它们不会伤害太多。你可以在sudoers文件中使用cmd_alias来创建带有参数的命令,然后使用'username ALL =(ALL)NOPASSWD:COMMANDA,COMMANDB,COMMANDC' – trh

相关问题