在Heroku上,我试图使用pgbackups插件将生产数据库复制到我的临时应用程序中.我按照插件页面上的说明操作:https://devcenter.heroku.com/articles/pgbackups
首先我捕获了数据库:
heroku pgbackups:capture --app production-app
Run Code Online (Sandbox Code Playgroud)
这有效:
HEROKU_POSTGRESQL_PURPLE (DATABASE_URL) ----backup---> b238
Capturing... done
Storing... done
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试在暂存应用程序上恢复它时:
heroku pgbackups:restore DATABASE `heroku pgbackups:url --app production-app` --remote staging
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
DATABASE_URL does not match any of your databases
! Could not resolve database DATABASE
!
! Available databases:
Run Code Online (Sandbox Code Playgroud)
我也尝试输入完整的URL:
heroku pgbackups:url b238 --app production-app
heroku pgbackups:restore DATABASE "https://s3.amazonaws.com/..." --remote staging
Run Code Online (Sandbox Code Playgroud)
并尝试命名应用程序(而不是--remote staging):
heroku pgbackups:restore DATABASE `heroku pgbackups:url --app production-app` --app staging-app
Run Code Online (Sandbox Code Playgroud)
这些都没有奏效.有趣的是,错误消息显示没有"可用数据库".我假设它指的是临时应用程序,它确实是空的.如果我输入:
heroku pgbackups
Run Code Online (Sandbox Code Playgroud)
我明白了:
! No backups. Capture one with …Run Code Online (Sandbox Code Playgroud) 我有一个带有序列化属性(数组)的模型.我想仅在数组的每个成员都包含在预定选项中时才验证模型.
示例:我有一个具有"情绪"属性的Person模型.用户可以有多种心情,但每种情绪必须是"快乐","悲伤","疲倦"或"愤怒".
该模型将是这样的:
class Person < ActiveRecord::Base
MOODS = %w[happy sad tired angry]
# validates :inclusion => { :in => MOODS }
attr_accessible :mood
serialize :mood
end
Run Code Online (Sandbox Code Playgroud)
评论验证不起作用.有没有办法使它工作或我需要自定义验证?
(注意:我不想创建单独的Mood模型.)