Skip to content

Add all tables, all columns #104

Description

@mdavis-xyz

I'm working on a project where I'm scraping the schema documentation, and putting it in a big json file. (Among other things, such as making a more usable and comprehensive documentation website than AEMO's.)

So I'll have:

  • the list of all MMS tables (except the special ones like 4 second scada)
  • for each table:
    • which columns are primary keys
    • which sets of columns are indexes
    • for each column:
      • name
      • SQL type as per the documentation
      • whether it's deprecated/unused
      • a more narrow type for polars/pandas (e.g. binary instead of NUMBER(3) for INTERVENTION)
      • Enum/factor options (e.g. knowing that a column is only ever GENERATOR or LOAD)
      • column specific quirks - e.g. there is one table where INTERVENTION is y and n instead of 0 and 1

My understanding is that currently Nemosis uses hard-coded lists of tables and columns. With such a json schema, we could use nemosis do be able to download all tables. Well, at least all tables in the monthly MMSDM folders since the latest renaming.

We could also use very narrow schemas (e.g. enum for REGIONID) to make parsing faster and use lower memory. (e.g. let us process huge bid files on a normal or even weak laptop.)

Is this something you think we should do?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions