forked from kmurph73/ctes_in_my_pg
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRakefile
61 lines (50 loc) · 1.44 KB
/
Rakefile
1
2
3
4
5
6
7
8
9
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
require "bundler/gem_tasks"
require "rake/testtask"
Rake::TestTask.new(:test) do |t|
t.libs << "test"
t.libs << "lib"
t.test_files = FileList['test/**/*_test.rb']
end
task :default => :test
namespace :db do
task :load_db_settings do
require 'active_record'
unless ENV['DATABASE_URL']
require 'dotenv'
Dotenv.load
end
end
task :drop => :load_db_settings do
%x{ dropdb #{ENV['DATABASE_NAME']} }
end
task :create => :load_db_settings do
%x{ createdb #{ENV['DATABASE_NAME']} }
end
task :migrate => :load_db_settings do
ActiveRecord::Base.establish_connection
ActiveRecord::Base.connection.enable_extension 'hstore'
ActiveRecord::Base.connection.create_table :people, force: true do |t|
t.inet "ip"
t.cidr "subnet"
t.integer "tag_ids", array: true
t.string "tags", array: true
t.hstore "data"
t.integer "lucky_number"
t.datetime "created_at"
t.datetime "updated_at"
end
ActiveRecord::Base.connection.create_table :people_tags, force: true do |t|
t.integer "person_id"
t.integer "tag_id"
end
ActiveRecord::Base.connection.create_table :tags, force: true do |t|
t.integer "person_id"
t.string "categories", array: true
t.datetime "created_at"
t.datetime "updated_at"
t.integer "parent_id"
t.string "type"
end
puts 'Database migrated'
end
end