Best way to convert a legacy database that's full of data?

The Rails recipes from the Pragmatic Programmers by Chad Flower, has
some tips on connecting to legacy databases.
That should point you in the right direction, or at least give you
some idea of what you're up against

You might also want to look at the ETL (Extract, Transform, Load)
approach found in active_warehouse. If you can reduce your dependency
to cyclical connectivity (say daily or hourly), you can simplify the
process quite a bit. Or, if you could ETL the legacy data and just
maintain connectivity for the sake of a few tables, you've reduced the
runtime load and complexity of your system quite a bit.