我正在研究Postgres DVD教程,并且遇到导入其示例数据库的问题.
跑步pg_restore -U postgres -d dvdrental ~[filepath]/dvd-database.tar.gz给了我pg_restore: [archiver] input file does not appear to be a valid archive.
到目前为止,我的流程如下:
tar czf dvd-database.tar.gz dvdrental.zip(我也尝试将zip解压缩到一个文件夹,结果相同,并删除.gz)将其解压缩到.tarpg_restore -U postgres -d dvdrental ~[filepath]/dvd-database.tar如上所述运行.我目前正在使用Postgres 9.5,这可能会导致问题.寻找答案,指出我在这个过程中出错的地方或如何将Postgres数据库的存档更新到9.5.
在git中,如何从上游源(即原始项目)中提取某些文件?
我有一个我正在研究的项目,它最初是从一个非常活跃的存储库中分叉出来的.我已将原始文件添加为名为"upstream"的远程程序,以便可以运行:
git pull upstream
Run Code Online (Sandbox Code Playgroud)
并将项目更新为最新的提交.
问题:有一些文件(例如我的Gruntfile.js)我不希望与原始项目一起更新.每当我提取这些提交时,我都会遇到合并冲突,因为我已经更改了我自己版本中的文件.
我确实想要为我自己的本地提交跟踪这些文件并从我自己的来源中提取更改,因此.gitignore永久添加这些文件不是一种选择.
我目前的解决方案是暂时添加一个grunt任务Gruntfile.js和其他人.gitignore,从上游拉出,然后从中删除它们,.gitignore以便我可以跟踪自己的更改并推送到我的原点.然而,这感觉很糟糕.
有没有什么方法可以忽略这些文件只有从"上游"拉?
我正在为学生构建电子邮件提醒功能。他们应该按照讲师指定的时间间隔收到一封电子邮件,表明他们取得了多少进步。
我的方法是使用 ActiveJob 来安排发送电子邮件的作业,然后当执行该作业时,我使用回调after_perform来安排下一个作业(摘自这篇文章)。看起来是这样的:
class StudentReminderJob < ApplicationJob
queue_as :default
after_perform do |job|
# (get user update frequency preference)
self.class.set(wait: update_frequency).perform_later(job.arguments[0])
end
def perform(user)
# Send email containing student stats information
UserMailer.send_student_reminder_email(user)
end
end
Run Code Online (Sandbox Code Playgroud)
最初的一组提醒将由 rake 任务启动。
我的问题是这样的:当尝试测试上面的代码时,perform_enqueued_jobs我似乎遇到了无限循环。这是我的测试:
require 'rails_helper'
describe StudentReminderJob, active_job: true, type: :job do
include ActiveJob::TestHelper
include ActiveSupport::Testing::TimeHelpers
let(:user) { create :user }
subject(:job) { described_class.perform_later(user) }
it 'gets enqueued' do
# Passes
expect { job }.to have_enqueued_job(described_class)
end
it 'receives …Run Code Online (Sandbox Code Playgroud)