Skip to content

Repository files navigation

sql2dts

A command-line tool that converts SQL files into TypeScript type definition (.d.ts) files that support multiple database types. Can also be used in the browser.

Installation

npm install -g sql2dts

Usage

cli

sql2dts <input.sql> [options]

Parameters

  • <input.sql>: Required, path to the SQL file to convert
  • -d <database>: Optional, specifies database type (default: 'mysql')
  • -o <output>: Optional, specifies output file path (default: '.d.ts')

Supported Database Types

Currently supported database types include:

  • athena
  • bigquery
  • cassandra
  • clickhouse
  • cockroachdb
  • duckdb
  • flink
  • hive
  • ibmdb2
  • mariadb
  • mysql (default)
  • neo4j
  • oracle
  • postgre
  • presto
  • redshift
  • snowflake
  • spanner
  • sqlite
  • sqlserver

Examples

  1. Basic usage:
sql2dts schema.sql

Reads schema.sql and generates mysql.d.ts type definitions.

  1. Specify database type:
sql2dts schema.sql -d postgre

Generates type definitions for PostgreSQL in the current directory.

  1. Full usage:
sql2dts test/msyql.sql -o types/database.d.ts -d msyql

Saves generated types to types/database.d.ts.

  1. Absolute path:
sql2dts test/msyql.sql -o /path/to/abc.ts -d mysql

Saves generated types to /path/to/abc.ts.

esm

import{generateForMysql}from'sql2dts';constsql='DROP TABLE IF EXISTS `file`;\n'+'CREATE TABLE `file` (\n'+' `id` CHAR(36) NOT NULL,\n'+' `filename` varchar(255) NOT NULL,\n'+' PRIMARY KEY (`id`),\n'+') ENGINE=InnoDB AUTO_INCREMENT=500 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;'console.log(generateForMysql(sql));console.log(generateForMysql(sql,{namespace: 'DbName'}));

output Example:

interfaceFile{id: string;filename: string;}

Output Example (With Namespace):

namespaceDbName{interfaceFile{id: string;filename: string;}}

browser

Need to introduce static resources

<scriptsrc="https://unpkg.com/sql2dts"></script>

How to use it in browser.

sql2dts.generateForMysql(sql);

About

A command-line tool that converts SQL files into TypeScript type definition (.d.ts) files that support multiple database types. Can also be used in the browser.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages