I wanted to add some additional functionality to migration so that versioning that requires some additional code to setup the table.
The constructor stops setup if the class is not the parent class (I'm guessing this "hack" is there because migrations themselves extend the migration library and it's not desirable to check that the table is there for each migration).
Seems like migrations should be de-coupled from the library so that the hack wouldn't be necessary.
Less use of the work "hack" there buddy. :)
What was it you were trying to do?
Haha sorry for the harsh language. I'm using a HMVC library and I wanted migrations to be modular so I wanted to add a column to the migration table and this setup is done in the constructor if the table exists. I got through it but I guess the "issue" is the library isn't as extensible or as easy to customize as other CI libraries. Maybe that if get_class($this) != FALSE could have a check for if it's not "MY_Migration" (or $custom_prefix."_Migration"). Please excuse my pseudo code
Seems pretty edge case. Just check the config.
If you want to disable extending CI_Migration, why not use the 'final' keyword?