Cool!  Thanks.  And good choice moving to PostgreSQL.

On Tue, Oct 13, 2009 at 2:31 PM, jon <jonhoff...@gmail.com> wrote:

>
> Hi All,
>
> I recently migrated our production database from MySQL to PostgreSQL
> and found the existing scripts to be pretty inadequate (and in Perl,
> blech).   Lift itself has a lot of cross database smarts built in, and
> since I only access the database using models I've defined in my Lift
> application, I thought, why not pipe things through mapper?  I threw
> together a script which can be used as follows (it should work with
> any set of DBs mapper supports):
>
> //**make sure no one is writing to the source database
> val fromDbMan = new DbMigrator.SimpleConnManager
> ("com.mysql.jdbc.Driver","jdbc:mysql://localhost/mydb",Full
> ("user"),Full("pass"))
> val toDbMan = new DbMigrator.SimpleConnManager
> ("org.h2.Driver","jdbc:h2:~/test;DB_CLOSE_DELAY=-1",None,None)
> val batchSize = 1000
> DbMigrator.migrate(fromDbMan, toDbMan, batchSize, User, Dog, Employee,
> Etc)
>
> println("The counts should be equal: " + User.countDb
> (DbMigrator.FromConnectionIdentifier) == User.countDb
> (DbMigrator.ToConnectionIdentifier))
>
> git it here: http://gist.github.com/209561
>
> I've tested mysql->postgres and mysql->h2 and h2-> h2 though none of
> my tables were bigger than thousands of rows.
>
> - Jon
> >
>


-- 
Lift, the simply functional web framework http://liftweb.net
Beginning Scala http://www.apress.com/book/view/1430219890
Follow me: http://twitter.com/dpp
Surf the harmonics

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to