forked from kgmiller/kechimyaku
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrakefile
More file actions
44 lines (38 loc) · 1.24 KB
/
rakefile
File metadata and controls
44 lines (38 loc) · 1.24 KB
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
require 'sinatra/activerecord/rake'
namespace :db do
desc "Create the database"
task :create do
ActiveRecord::Base.establish_connection(
adapter: 'sqlite3',
database: 'db/database.db'
)
puts "Database created"
end
desc "Run migrations"
task :migrate do
ActiveRecord::Base.establish_connection(
adapter: 'sqlite3',
database: 'db/database.db'
)
# Load all migration files
Dir.glob("db/migrate/*.rb").sort.each do |migration_file|
require migration_file
migration_class = File.basename(migration_file, '.rb').split('_')[1..-1].join('_').camelize
migration_class.constantize.new.up
puts "Migrated: #{migration_file}"
end
end
desc "Seed the database"
task :seed do
# Add some sample data
ActiveRecord::Base.establish_connection(
adapter: 'sqlite3',
database: 'db/database.db'
)
# Create relationship types
RelationshipType.create(name: 'Student') unless RelationshipType.find_by(name: 'Student')
RelationshipType.create(name: 'Teacher') unless RelationshipType.find_by(name: 'Teacher')
RelationshipType.create(name: 'Successor') unless RelationshipType.find_by(name: 'Successor')
puts "Database seeded"
end
end