RepoQuest-Server/lib/database/repoquest_db_connector.rb

24 lines
632 B
Ruby
Raw Normal View History

2023-09-18 16:53:11 -06:00
require 'sequel'
2023-09-19 22:54:58 -06:00
require 'fileutils'
2023-09-18 16:53:11 -06:00
class RepoQuestDBConnector
2023-09-19 22:54:58 -06:00
def initialize(db_file = 'repoquest.db')
db_path = File.join(Dir.pwd, db_file)
# Check if SQLite file exists, if not, create it
FileUtils.touch(db_path) unless File.exist?(db_path)
@db = Sequel.connect("sqlite://#{db_path}")
rescue Sequel::Error => e
puts "Database connection failed: #{e.message}"
exit 1
2023-09-18 16:53:11 -06:00
end
2023-09-19 22:54:58 -06:00
def run_migrations(migration_path = 'lib/database/migrations/')
2023-09-18 16:53:11 -06:00
Sequel.extension :migration
2023-09-19 22:54:58 -06:00
Sequel::Migrator.run(@db, migration_path)
rescue Sequel::Error => e
puts "Migration failed: #{e.message}"
2023-09-18 16:53:11 -06:00
end
end