simple database import/export app
Clone or download
Pull request Compare This branch is 1 commit ahead, 288 commits behind ricardochimal:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Taps – simple database import/export app

A simple database agnostic import/export app to transfer data to/from a remote database.

Usage: Server

Here's how you start a taps server

$ taps server postgres://localdbuser:localdbpass@localhost/dbname httpuser httppassword

You can also specify an encoding in the database url

$ taps server mysql://localdbuser:localdbpass@localhost/dbname?encoding=latin1 httpuser httppassword

Usage: Client

When you want to pull down a database from a taps server

$ taps pull postgres://dbuser:dbpassword@localhost/dbname

or when you want to push a local database to a taps server

$ taps push postgres://dbuser:dbpassword@localhost/dbname

Known Issues

  • Blob data may not transfer properly, I suspect that SQLite3 is modifying some native ruby objects.

  • Foreign Keys get lost in the schema transfer

  • Large tables (>1 million rows with a large number of columns) get slower as the offset gets larger. This is due to it being inefficient having large offset values in queries.

  • Character encoding problems should be more transparent but they're not, it usually involves looking at the server log to see the error.


Maintained by Ricardo Chimal, Jr. (ricardo at heroku dot com)

Written by Ricardo Chimal, Jr. (ricardo at heroku dot com) and Adam Wiggins (adam at heroku dot com)

Early research and inspiration by Blake Mizerany

Released under the MIT License: