If the 2012 target can be unreadable, then you can log-ship. That is process we used to migrate from SQL 2005 to SQL 2012, was very straightforward.
If you need to be able to read from the SQL 2012 target, I think replication is not terrible alternative, but you'd need PK on every table.