Skip to content

Repository files navigation

ActiveRecordSqlExporter
=======================

This plugin takes a record in your database and converts it into SQL statements
that can be used to insert it.

This was written after I had to restore some specific data for a user (a number
of rows, across a number of tables.)

It might be useful as a simple backup utility - for example, store the restoration
sql after something gets removed.

This moves down through relations along has_many, has_one relations, but will
not move up along belongs_to relations.

However, this doesn't make you any less likely to screw up and shoot yourself 
in the proverbial memory usage foot with a massive swath of data, so often
you'll want to use the second argument to to_sql, which is an array of classes
to ignore.



Example
=======

Obj.find( obj_id ).to_backup_sql

For a blog_post, that belongs to a user, that might have many posts:
Post.find( id ).to_backup_sql( {}, [User] )

Export an object to a file:
Post.find( id ).to_backup_sql( {:file => a_file_object} )

Copyright (c) 2010 Adam Palmblad (adam.palmblad@teampages.com), released under the MIT license


To Do
=====
* Watch dependent => nullify and write restoration query
* The generation the SQL that checks for the presence of a value is broken!
* Add ability to toggle sql options, such as the ON DUPLICATE KEY stuff
* Support for non MySQL databases

About

Take an active record object, and export it and its related objects to SQL.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages