CLI tool to batch update or insert data.
Project description
Heave
Heave is a CLI tool for batch inserting or updating data into a database.
Installation
It is recommended to install heave
using pipx:
pipx install heave
Usage
heave [OPTIONS] COMMAND [ARGS]...
Create a connection to a PostgreSQL database.
Defaults to the postgres
database on localhost
with the postgres
user.
Pass alternate connection parameters as options.
You can save yourself some typing by setting the environment variables PGDATABASE
,
PGHOST
, PGPORT
and/or PGUSER
to appropriate values.
It is also convenient to have a .pgpass file
to avoid regularly having to type in passwords.
Options
-h
, --host TEXT (default: localhost)
- Host name of the database.
-p
, --port INTEGER (default: 5432)
- Port number at which the database is listening.
-U
, --username TEXT
- Username to connect as.
-d
, --dbname TEXT (default: postgres)
- Name of the database to connect to.
Examples
heave --host myhost --port 5433 --username myuser --dbname mydb
heave insert
heave insert --table TEXT <file>
Insert data from a file into a table.
Options
-t
, --table TEXT
- Name of the table to insert into. Required.
-oc
, --on-conflict TEXT
- How to handle insert conflicts. [nothing|update]
Examples
heave insert --table mytable data.csv
heave read
heave read --table TEXT <file>
Read data from an SQL table and write it to a file.
Options
-t
, --table TEXT
- Name of the table to read from. Required.
Examples
heave read --table mytable data.csv
Supported Formats
Currently, Heave only supports extracting data from CSV files and loading it into a PostgreSQL database.
Sources
Supported data sources include:
- CSV files:
.csv
Databases
Supported target databases include:
- PostgreSQL
Examples
...
Contributing
Contributions are welcome! Pick an existing issue or create a new one. Then follow the steps in CONTRIBUTING.md to make your change.`
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.