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.
npm install sql2dtsA 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.
``bash`
npm install -g sql2dts
`bash`
sql2dts
Parameters
- : Required, path to the SQL file to convert-d
- : Optional, specifies database type (default: 'mysql')-o
-
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:
`bash`
sql2dts schema.sql
Reads schema.sql and generates mysql.d.ts type definitions.
2. Specify database type:
`bash`
sql2dts schema.sql -d postgre
Generates type definitions for PostgreSQL in the current directory.
3. Full usage:
`bash`
sql2dts test/msyql.sql -o types/database.d.ts -d msyqltypes/database.d.ts
Saves generated types to .
4. Absolute path:
`bash`
sql2dts test/msyql.sql -o /path/to/abc.ts -d mysql
Saves generated types to /path/to/abc.ts.
`js
import { generateForMysql } from 'sql2dts';
const sql = 'DROP TABLE IF EXISTS file;\n' +file
'CREATE TABLE (\n' +id
' CHAR(36) NOT NULL,\n' +filename
' varchar(255) NOT NULL,\n' +id
' PRIMARY KEY (),\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:
`ts`
interface File {
id: string;
filename: string;
}
Output Example (With Namespace):
`ts`
namespace DbName {
interface File {
id: string;
filename: string;
}
}
Need to introduce static resources
`html`
How to use it in browser.
`js``
sql2dts.generateForMysql(sql);