Giter Site home page Giter Site logo

discussion's People

Contributors

benjie avatar

Watchers

 avatar  avatar  avatar

discussion's Issues

CLI: `postgraphile copy`

I'm submitting a ...

  • bug report
  • feature request
  • question

I think a great addition to the CLI (and library) would be a copy command with the following semantics:

Usage: postgraphile copy

Options:
  --table <string>                           the PostgreSQL table name to copy from/to
  -c, --connection <string>                  the PostgreSQL database name or connection string. If omitted, inferred from environmental variables (see https://www.postgresql.org/docs/current/static/libpq-envars.html). Examples: 'db', 'postgres:///db', 'postgres://user:password@domain:port/db?ssl=1'
  -s, --schema <string>                      a Postgres schema to be introspected. Use commas to define multiple schemas

This utility would be a lightweight wrapper around native PostgreSQL COPY functionality. Importantly, JSON documents read from STDIN (or written to STDOUT) would be transformed through the same inflector logic postgraphile normally uses when serializing/deserializing rows to/from GraphQL queries.

Example CLI Usage:

# export data to a file as JSON
postgraphile copy -s public --table authors > authors.json

# import JSON data from a file
cat authors.json | postgraphile copy -s public --table authors

Example Library Usage:

import * as fs from 'fs';
import { createReadStream, createWriteStream } from 'postgraphile';

// export data
createReadStream(pgConfig, { schema, table })
  .pipe(fs.createWriteStream('./authors.json'));

// import data
fs.createReadStream('./authors.json')
  .pipe(createWriteStream(pgConfig, { schema, table });

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.