Migration stages which simply cycle through all the rows of an old table and somehow migrate them to the new DB should probably extend Stage_Table in order to avoid code repetition. To extend this, implement the _migrate_old_row() method, and create a constructor which defines $this->_old_table to be the name of the old table.
Direct known subclasses
Author: Mike Nelson
Located at core/data_migration_scripts/EE_Data_Migration_Script_Stage_Table.core.php
IMPORTANT: if an error is encountered, or everything is finished, this stage should update its status property accordingly. Note: it should not alter the count of items migrated. That is done in the public function that calls this. IMPORTANT: The count of items migrated should ONLY be less than $num_items_to_migrate when it's the last migration step, otherwise it should always return $num_items_to_migrate. (Eg, if we're migrating attendees rows from the database, and $num_items_to_migrate is set to 50, then we SHOULD actually migrate 50 rows,but at very least we MUST report/return 50 items migrated)
takes care of migrating this particular row from the OLD table to whatever its representation is in the new database. If there are errors, use $this->add_error to log them. If there is a fatal error which prevents all future migrations, throw an exception describing it
Methods inherited from EE_Data_Migration_Script_Stage
Methods inherited from EE_Data_Migration_Class_Base
Magic methods summary
Set in the constructor to add this sql to both the counting query in EE_Data_Migration_Script_Stage_Table::_count_records_to_migrate() and EE_Data_Migration_Script_Stage_Table::_get_rows(). Eg "where column_name like '%some_value%'"