{
  "schemas": [
    {
      "name": "app",
      "comment": "Application schema",
      "owner": "pgevolve",
      "grants": []
    }
  ],
  "extensions": [],
  "tables": [
    {
      "qname": {
        "schema": "app",
        "name": "users"
      },
      "columns": [
        {
          "name": "id",
          "ty": {
            "kind": "big_int"
          },
          "nullable": false,
          "default": null,
          "identity": null,
          "generated": null,
          "collation": null,
          "storage": null,
          "compression": null,
          "comment": null
        },
        {
          "name": "email",
          "ty": {
            "kind": "text"
          },
          "nullable": false,
          "default": null,
          "identity": null,
          "generated": null,
          "collation": null,
          "storage": null,
          "compression": null,
          "comment": "User contact email"
        }
      ],
      "constraints": [
        {
          "qname": {
            "schema": "app",
            "name": "users_email_check"
          },
          "kind": {
            "kind": "check",
            "expression": {
              "canonical_text": "email <> ''::text",
              "ast_hash": [
                53,
                115,
                148,
                186,
                67,
                232,
                51,
                143,
                177,
                32,
                119,
                214,
                83,
                213,
                0,
                125,
                244,
                175,
                224,
                218,
                163,
                227,
                238,
                42,
                74,
                131,
                206,
                203,
                249,
                232,
                39,
                23
              ]
            },
            "no_inherit": false
          },
          "deferrable": {
            "kind": "not_deferrable"
          },
          "comment": "Reject empty emails"
        },
        {
          "qname": {
            "schema": "app",
            "name": "users_pkey"
          },
          "kind": {
            "kind": "primary_key",
            "columns": [
              "id"
            ],
            "include": []
          },
          "deferrable": {
            "kind": "not_deferrable"
          },
          "comment": null
        }
      ],
      "partition_by": null,
      "partition_of": null,
      "comment": "Application users",
      "owner": "pgevolve",
      "grants": [],
      "rls_enabled": false,
      "rls_forced": false,
      "policies": [],
      "storage": {
        "fillfactor": null,
        "autovacuum": {
          "enabled": null,
          "vacuum_threshold": null,
          "vacuum_scale_factor": null,
          "vacuum_cost_delay": null,
          "vacuum_cost_limit": null,
          "analyze_threshold": null,
          "analyze_scale_factor": null,
          "freeze_max_age": null,
          "freeze_min_age": null,
          "freeze_table_age": null,
          "multixact_freeze_max_age": null,
          "multixact_freeze_min_age": null,
          "multixact_freeze_table_age": null,
          "vacuum_insert_threshold": null,
          "vacuum_insert_scale_factor": null,
          "log_min_duration": null
        },
        "parallel_workers": null,
        "toast_tuple_target": null,
        "user_catalog_table": null,
        "vacuum_truncate": null,
        "extra": {}
      }
    }
  ],
  "indexes": [
    {
      "qname": {
        "schema": "app",
        "name": "users_email_idx"
      },
      "on": {
        "kind": "table",
        "schema": "app",
        "name": "users"
      },
      "method": "b_tree",
      "columns": [
        {
          "expr": {
            "column": "email"
          },
          "collation": null,
          "opclass": null,
          "sort_order": "asc",
          "nulls_order": "nulls_last"
        }
      ],
      "include": [],
      "unique": false,
      "nulls_not_distinct": false,
      "predicate": null,
      "tablespace": null,
      "comment": "Lookup users by email",
      "storage": {
        "fillfactor": null,
        "fastupdate": null,
        "gin_pending_list_limit": null,
        "buffering": null,
        "deduplicate_items": null,
        "pages_per_range": null,
        "autosummarize": null,
        "extra": {}
      }
    }
  ],
  "sequences": [
    {
      "qname": {
        "schema": "app",
        "name": "id_seq"
      },
      "data_type": {
        "kind": "big_int"
      },
      "start": 1,
      "increment": 1,
      "min_value": null,
      "max_value": null,
      "cache": 1,
      "cycle": false,
      "owned_by": null,
      "comment": "Independent ID sequence",
      "owner": "pgevolve",
      "grants": []
    }
  ],
  "views": [],
  "materialized_views": [],
  "types": [],
  "functions": [],
  "procedures": [],
  "triggers": [],
  "publications": [],
  "statistics": [],
  "subscriptions": [],
  "default_privileges": []
}
