我一直在使用主机变量尝试PGPASSWORD和.pgpass并没有这两个让我来验证数据库.我已经chmod倒是.pgpass给适当的权限,也尝试过:
export PGPASSWORD=mypass and PGPASSWORD=mypass
Run Code Online (Sandbox Code Playgroud)
密码包含\但是我用单引号将其包装起来PGPASS='mypass\',但仍然无法进行身份验证.
我在跑:
pg_dump dbname -U username -Fc
Run Code Online (Sandbox Code Playgroud)
我仍然收到
pg_dump: [archiver (db)] connection to database "dbname" failed: FATAL: Peer authentication failed for user "username"
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个自定义验证,用于验证计划的start_date和end_date不与其他计划重叠
class Schedule < ActiveRecord::Base
#has many scheduleTimes (fk in scheduleTime)
has_many :scheduletimes, :inverse_of => :schedule
validate :dateOverlaps?
scope :active, lambda {
where('? between start_date and end_date', Date.today)
}
def dateOverlaps?
results = ActiveRecord::Base.connection.execute("Select (start_date::DATE, end_date::DATE) OVERLAPS ('#{self.start_date}'::DATE, '#{self.end_date}'::DATE) from schedules;")
errors.add_to_base("Date ranges cannot overlap with another schedule") if results.first["overlaps"] == 't'
end
Run Code Online (Sandbox Code Playgroud)
然而,这导致了
NoMethodError: undefined method `add_to_base'
Run Code Online (Sandbox Code Playgroud)
我尝试创建自定义验证器并使用私有验证方法无济于事.有人可以为我照亮一些吗?