In case someone runs into this... I switched an app installation from SQLite to MySQL recently, and my first define_table complained that the table already existed. Bonus confusion: the new auth tables got defined just fine.
Turned out that the problem was that the define_table call was using the same migrate name, and seeing a populated migration file (from the older SQLite db) and an empty database was just too confusing. The auth migration files had gotten a new UUID prefix during the move, so they worked fine. Deleting the migration files fixed the problem. Renaming the migration file would have too, of course, if I had cared to preserve the old one.

