I used to work in higher ed and dealt with the awful Blackboard system.
For reference as to how bad it was, different modules used different database vendors (MSSQL vs Oracle).
Also here's a comment I had left myself about how to work with dates in the Oracle db (aka the Blackboard Transaction System, aka BBTS):
# BBTS doesn't use a date,datetime, or time column from its database.
# Instead, it uses a float that is the number of days since 12-30-1899.
# The Ruby Time class is ideal for handling this, but the Ruby Time
# class doesn't work for dates before 01-01-1970.
# The magic number is: TransactionSystem::MAGIC_DATE_NUMBER (25,569)
# If BBTS is below that number, we must use the Date class.
# If BBTS is above that number, we will subtract 25,569 from the BBTS
# and start counting from 01-01-1970 instead of 12-30-1899.
# Dealing with dates before 1970 will take much longer to process.
For reference as to how bad it was, different modules used different database vendors (MSSQL vs Oracle).
Also here's a comment I had left myself about how to work with dates in the Oracle db (aka the Blackboard Transaction System, aka BBTS):
It was quite a challenge to make use of it.