10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
# File 'lib/proxes/rake_tasks.rb', line 10
def install_tasks
namespace :proxes do
desc 'Generate the needed tokens'
task :generate_tokens do
require 'securerandom'
File.write('.session_secret', SecureRandom.random_bytes(40))
File.write('.token_secret', SecureRandom.random_bytes(40))
end
desc 'Seed the ProxES database'
task :seed do
require 'proxes/seed'
end
desc 'Prepare ProxES migrations'
task :prep do
Dir.mkdir 'migrations' unless File.exist?('migrations')
::ProxES::Container.migrations.each do |path|
FileUtils.cp_r "#{path}/.", 'migrations'
end
end
desc 'Migrate ProxES database to latest version'
task :migrate do
Rake::Task['proxes:migrate:up'].invoke
end
namespace :migrate do
require_relative './db'
Sequel.extension :migration
folder = 'migrations'
desc 'Check if the migration is current'
task :check do
Sequel::Migrator.check_current(DB, folder)
end
desc 'Migrate ProxES database to latest version'
task :up do
Sequel::Migrator.apply(DB, folder)
end
desc 'Roll back the ProxES database'
task :down do
Sequel::Migrator.apply(DB, folder, 0)
end
desc 'Reset the ProxES database'
task :bounce do
Sequel::Migrator.apply(DB, folder, 0)
Sequel::Migrator.apply(DB, folder)
end
end
end
end
|