@sdelements/flan
    TypeScript icon, indicating that this package has built-in type declarations

    0.1.0-alpha.10 • Public • Published

    flan

    A tasty tool that lets you save, load and share postgres snapshots with ease.

    oclif Version Downloads/week License

    Usage

    $ npm install -g @sdelements/flan
    
    $ flan init
    running setup...
    
    $ flan save mydb@1.0.0
    saving...
    
    $ flan load mydb@1.0.0
    loading...
    
    $ flan publish mydb@1.0.0
    publishing...
    
    $ flan available
    available snapshots...
    
    $ flan (-v|--version|version)
    @sdelements/flan/0.1.0-alpha.0 darwin-x64 node-v14.16.1
    
    $ flan --help [COMMAND]
    USAGE
      $ flan COMMAND
    ...

    How it works

    Under the hood flan is a convenient wrapper for pgdump and pgrestore. It uses parallel jobs by default to ensure dumping/restoring your database is quick.

    Sharing database dumps is achieved by leveraging git. Essentially you push a tag to a repository of your choosing (defined in flan.config.js) and others can then pull it with flan fetch. We chose to use git because it fits well with our internal tooling and process but we understand it may not be the best solution for you. Pull requests are welcome if you're interested in using S3/Azure/etc as a store 🙂

    ⚠️ WARNING: Please don't use flan in situations where you can't afford data loss.

    Commands

    flan autocomplete [SHELL]

    display autocomplete installation instructions

    USAGE
      $ flan autocomplete [SHELL]
    
    ARGUMENTS
      SHELL  shell type
    
    OPTIONS
      -r, --refresh-cache  Refresh cache (ignores displaying instructions)
    
    EXAMPLES
      $ flan autocomplete
      $ flan autocomplete bash
      $ flan autocomplete zsh
      $ flan autocomplete --refresh-cache
    

    See code: @oclif/plugin-autocomplete

    flan available

    lists available dumps

    USAGE
      $ flan available
    
    OPTIONS
      -c, --config=config     [default: ./flan.config.json] Path to configuration file
      -x, --extended          show extra columns
      --columns=columns       only show provided columns (comma-separated)
      --csv                   output is csv format [alias: --output=csv]
      --filter=filter         filter property by partial string matching, ex: name=foo
      --no-header             hide table header from output
      --no-truncate           do not truncate output to fit screen
      --output=csv|json|yaml  output in a more machine friendly format
      --sort=sort             [default: tag] property to sort by (prepend '-' for descending)
    
    EXAMPLE
      $ flan available
    

    See code: src/commands/available.ts

    flan delete DELETEFILE

    delete a local database dump

    USAGE
      $ flan delete DELETEFILE
    
    ARGUMENTS
      DELETEFILE  name of file to delete
    
    OPTIONS
      -c, --config=config  [default: ./flan.config.json] Path to configuration file
    
    EXAMPLES
      $ flan delete myDB
      $ flan delete myDB@1.0.0
    

    See code: src/commands/delete.ts

    flan fetch FILE

    fetch specified dump file from a remote repository

    USAGE
      $ flan fetch FILE
    
    ARGUMENTS
      FILE  name of the file
    
    OPTIONS
      -c, --config=config  [default: ./flan.config.json] Path to configuration file
    
    EXAMPLE
      $ flan fetch filename
    

    See code: src/commands/fetch.ts

    flan help [COMMAND]

    display help for flan

    USAGE
      $ flan help [COMMAND]
    
    ARGUMENTS
      COMMAND  command to show help for
    
    OPTIONS
      --all  see all commands in CLI
    

    See code: @oclif/plugin-help

    flan init

    Initializes flan for this project

    USAGE
      $ flan init
    
    OPTIONS
      -c, --config=config  [default: ./flan.config.json] Path to configuration file
      -y, --yes            Auto confirm directory creating questions
    
    EXAMPLES
      $ flan init
      Config file found at home/flan.config.js
    
      $ flan init
      A config file will be created, continue? [y/n]
    
      $ flan init -c /some-folder/flan.config.json
      Config file found at home/flan/some-folder/flan.config.json
    
      $ flan init -y -c /some-folder/flan.config.json
      Config file found at /home/flan/some-folder/flan.config.json
      The base directory has been created successfully at /home/flan/some-folder/.flan
      The save directory has been created successfully at /home/flan/some-folder/.flan/local
      Git repository initialized at /home/flan/some-folder/.flan/repo
    

    See code: src/commands/init.ts

    flan list

    lists available dumps

    USAGE
      $ flan list
    
    OPTIONS
      -c, --config=config  [default: ./flan.config.json] Path to configuration file
    
    EXAMPLE
      $ flan list
    

    See code: src/commands/list.ts

    flan load INPUT

    load database from dump

    USAGE
      $ flan load INPUT
    
    ARGUMENTS
      INPUT  name of input file
    
    OPTIONS
      -c, --config=config  [default: ./flan.config.json] Path to configuration file
      --drop-db            Drops and re-creates the DB before restoring it's data
      --quiet              Supress errors from pg_restore
    
    EXAMPLES
      $ flan load myDB
      $ flan load --drop-db --quiet myDB
    

    See code: src/commands/load.ts

    flan publish FILE

    publish specified dump file to a remote repository

    USAGE
      $ flan publish FILE
    
    ARGUMENTS
      FILE  name of the file
    
    OPTIONS
      -c, --config=config  [default: ./flan.config.json] Path to configuration file
    
    EXAMPLE
      $ flan publish filename
    

    See code: src/commands/publish.ts

    flan save OUTPUT

    save current database to dump

    USAGE
      $ flan save OUTPUT
    
    ARGUMENTS
      OUTPUT  name of output file
    
    OPTIONS
      -c, --config=config  [default: ./flan.config.json] Path to configuration file
    
    EXAMPLE
      $ flan save myDB
    

    See code: src/commands/save.ts

    flan unpublish FILE

    unpublish specified database dump from a remote repository

    USAGE
      $ flan unpublish FILE
    
    ARGUMENTS
      FILE  name of the file
    
    OPTIONS
      -c, --config=config  [default: ./flan.config.json] Path to configuration file
    
    EXAMPLE
      $ flan unpublish myDB@1.0.0
    

    See code: src/commands/unpublish.ts


    From Toronto with love ❤️

    👩‍🍳 🥧 👨‍🍳 🥧 👩‍🍳 🥧 👨‍🍳 🥧 👨‍🍳
    Built by Team Pie
    Special thanks to @revangel for the logo

    Install

    npm i @sdelements/flan

    DownloadsWeekly Downloads

    28

    Version

    0.1.0-alpha.10

    License

    MIT

    Unpacked Size

    182 kB

    Total Files

    31

    Last publish

    Collaborators

    • hris.iord
    • sibartlett
    • madhav3089
    • funkaoshi
    • hhaidar