A simple database agnostic import/export app to transfer data to/from a remote database.
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
When you want to pull down a database from a taps server
$ taps pull postgres://dbuser:dbpassword@localhost/dbname http://httpuser:httppassword@example.com:5000
or when you want to push a local database to a taps server
$ taps push postgres://dbuser:dbpassword@localhost/dbname http://httpuser:httppassword@example.com:5000
or when you want to transfer a list of tables
$ taps push postgres://dbuser:dbpassword@localhost/dbname http://httpuser:httppassword@example.com:5000 --tables logs,tags
or when you want to transfer tables that start with a word
$ taps push postgres://dbuser:dbpassword@localhost/dbname http://httpuser:httppassword@example.com:5000 --filter '^log_'
-
Foreign key constraints get lost in the schema transfer
-
Tables without primary keys will be incredibly slow to transfer. This is due to it being inefficient having large offset values in queries.
-
Multiple schemas are currently not supported
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: www.opensource.org/licenses/mit-license.php
github.com/ricardochimal/taps
Special Thanks to Sequel for making this tool possible sequel.rubyforge.org/