Postgres Describe

This library provides a Mix task that documents PostgreSQL database tables in files within the directory tree.

Installation

Add postgres_describe to your list of dependencies in mix.exs:

def deps do
  [
    {:postgres_describe, "~> 0.1.0"}
  ]
end

And mix deps.get.

Basic Usage

The following configuration keys are the minimum required, and an example follows:

  • host # Your PG host
  • port # PG port
  • user # Your PG user
  • password # Your PG password
  • database # Your PG database name
  • write_dir # Where we should write your description files
  • tables # A map: keys are schemas in your database (at a minimum you probably want public), and values are lists of table names within that schema
config :postgres_describe,
  host: "localhost",
  port: 5432,
  user: "myuser",
  password: "mypassword",
  database: "mydatabase",
  write_dir: "/tmp",
  tables: %{
    public: [
      "table_1",
      "table_2"
    ],
    another_schema: [
      "table_3",
      "table_4"
    ]
  }

Then run the generator from the root of your application:

$ mix PostgresDescribe

Full docs can be found online.