initial commit
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
require 'dotenv/load'
|
||||
require 'sequel'
|
||||
require 'sequel/extensions/seed'
|
||||
|
||||
require_relative './lib/full_odds'
|
||||
require_relative './lib/full_odds/db'
|
||||
|
||||
def create_migration_or_seed(type, args)
|
||||
name = args[:name] || type
|
||||
timestamp = Time.now.strftime("%Y%m%d%H%M%S")
|
||||
Dir.mkdir("lib/full_odds/db/#{type}s") unless Dir.exist?("lib/full_odds/db/#{type}s")
|
||||
filename = "lib/full_odds/db/#{type}s/#{timestamp}_#{name}.rb"
|
||||
filename
|
||||
end
|
||||
|
||||
namespace :db do
|
||||
desc "Run migrations"
|
||||
task :migrate do
|
||||
Sequel.extension :migration
|
||||
db = FO::DB.connection
|
||||
Sequel::Migrator.run(db, "lib/full_odds/db/migrations")
|
||||
puts "Database migrated successfully!"
|
||||
end
|
||||
|
||||
desc "Create migration"
|
||||
task :new_migration, [:name] do |t, args|
|
||||
filename = create_migration_or_seed('migration', args)
|
||||
File.open(filename, 'w') do |f|
|
||||
f.write <<~RUBY
|
||||
Sequel.migration do
|
||||
change do
|
||||
# Add migration logic here
|
||||
end
|
||||
end
|
||||
RUBY
|
||||
end
|
||||
puts "Created migration: #{filename}"
|
||||
end
|
||||
|
||||
desc "Apply seeds"
|
||||
task :seed do
|
||||
Sequel.extension :seed
|
||||
db = FO::DB.connection
|
||||
Sequel::Seeder.apply(db, "lib/full_odds/db/seeds")
|
||||
puts "Seeds run successfully!"
|
||||
end
|
||||
|
||||
desc "Create seed"
|
||||
task :new_seed, [:name] do |t, args|
|
||||
filename = create_migration_or_seed('seed', args)
|
||||
File.open(filename, 'w') do |f|
|
||||
f.write <<~RUBY
|
||||
Sequel.seed do
|
||||
def run
|
||||
# Add seed logic here
|
||||
end
|
||||
end
|
||||
RUBY
|
||||
end
|
||||
puts "Created seed: #{filename}"
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user