12

Reverse engineering an applications internal object model and creating an database model for it...

The reason: Several versions of application exist, each deliver flat data by rest. The data is a complete potpourri of several different entities. *yaaaay*

Eg. an example fictional call (real call and data would get me in trouble I think....)

get_fiscal_report returning the fiscal data for _several_ companies, the companies _subsidiaries_ and the respective _segments_ for a _year_ with a key value enumeration.

So it's an happy fuck up of N:N associative data that usually would be a hierarchical relationship...

Year - Company
Each Company has subsidiaries
Each Company subsidiary has segments
Each segment has a fixed enumeration of keys
Each key has then the monetary value (e.g. 'operating_income' - 155_000 US-$)

Example is made up, but my data contains exactly such a lovely nested hierarchical data flattened and misnamed to a point where it's close to garbage.

Yaaaay.

I had now 6 days of untucking this mess to a usable database representation...

Sprinkling Unique Keys everywhere...

Running persist script...

Getting exceptions...

Changing associations...

Running persist script...

Screaming.

Changing associations...

Violently cursing.

Running persist script.

Starting sacrificing interns...

6 days.

I need a new brain and a format of my soul.

-.-

Reverse engineering proprietary software is really an morbid adventure.

Comments
Add Comment