pushcsv
Push csv/tsv data to database
Supported Backends
| Database |
Driver |
| postgresql |
github.com/lib/pq |
| mongodb |
gopkg.in/mgo.v2 |
| mysql |
github.com/go-sql-driver/mysql |
| sqlserver |
github.com/denisenkom/go-mssqldb |
| sqlite3 |
github.com/mattn/go-sqlite3 |
Getting pushcsv
go install github.com/eirannejad/pushcsv
Build process on Windows requires gcc to support compiling the sqlite3 libraries. Therefore binaries are provided for convenience under Releases. Compiled pushcsv binaries can be installed on Windows using Chocolatey package manager as well.
choco install pushcsv
Usage
Examples of pushing users.csv into table (collection in case of mongodb) users on supported databases:
$ pushcsv postgres://user:pass@data.mycompany.com/mydb users ~/users.csv --headers --purge
$ pushcsv mongodb://user:pass@localhost:27017/mydb users ~/users.csv --map=name:fullname --map=email:userid
$ pushcsv "mysql:user:pass@tcp(localhost:3306)/tests" users ~/users.csv --purge --map=name:fullname --map=email:userid
$ pushcsv sqlserver://user:pass@my-azure-db.database.windows.net?database=mydb users ~/users.csv --purge --map=name:fullname --map=email:userid
$ pushcsv sqlite3:data.db users ~/users.csv
Building from source
$ git clone git@github.com:eirannejad/pushcsv.git
$ cd pushcsv
$ go get -u ./...
$ go install .
$ pushcsv --help
To reduce the size of pushcsv compiled binary, install with -ldflags "-w" option.
go install -ldflags "-w" .