A generic type generator for various databases.
The current supported database backend is Postgres. Track #1 issue for MySQL support.
If you are developing applications in JavaScript and using either of the strict type systems, then you can use database-types
to generate types describing the database.
export DATABASE_TYPES_DATABASE_CONNECTION_URI=postgres://postgres:password@127.0.0.1/test
export DATABASE_TYPES_COLUMN_FILTER="return !['raster_overviews', 'raster_columns', 'geometry_columns', 'geography_columns', 'spatial_ref_sys'].includes(tableName)"
export DATABASE_TYPES_DIALECT=flow
database-types generate-types > ./types.js
This generates file containing Flow type declarations in the following format:
export type ReservationSeatRecordType = {|
+createdAt: string,
+id: number,
+reservationId: number,
+seatId: number
|};
export type TicketTypeRecordType = {|
+cinemaId: number,
+id: number,
+name: string,
+nid: string,
+policy: string | null
|};
// ...
$ npm install database-types -g
$ database-types --help