Introduction
load.ts
is a CLI tool that allows you to
- Load schemas from file system to a database
- Provide custom template to produce any command line operations
Note: Folder strucutre read by load.ts
is not configurable as of today. It should be like
<database-server>/<database-name>/schema.sql
There can be multiple databases (database-name
) inside a database-server
folder. database-schema-examples
repo follows this structure.
CLI Arguments Reference
Arg | Required | Description |
---|
--folder | true | Load a folder containing database schemas (making them available in templates) assuming the following structure. <dbname>/schema.sql . This is similar to database-schema-examples repo |
--db | true | Connection string of the database URL that will be parsed and made available as template args. |
--subfolders | false | Comma separated, load selective folders from --folder |
--template | false | Template to produce output. See Template Variables below. |
--data | false | Also include data.sql (defaults to false, i.e. load.ts only picks schema.sql ) |
Template Variables
All examples are based on this connection string: sqlserver://localhost:1433;database=test;user=root;password=prisma;trustServerCertificate=true;encrypt=DANGER_PLAINTEXT
In all the examples below,
- Respective database is derived from the connection string provided in
--db
argument. - Folder structure is assumed to be similar to
database-schema-examples
https://github.com/prisma/database-schema-examples/tree/main/mssql
Name | Description | Example |
---|
'db_cli' | Default CLI of the respective database | sqlcmd for SQL Server |
'db_user_flag' | User flag of the respective database | -U for SQL Server |
'db_pass_flag' | Password flag of the respective database | -P for SQL Server |
'db_host_flag' | Host flag of the respective database | -S for SQL Server |
'db_name_flag' | Database name flag of the respective database | -d for SQL Server |
'db_file_flag' | File input flag of the respective database | -i for SQL Server |
'db_eval_flag' | Command line query flag of the respective database | -Q for SQL Server |
'db_quote' | Quote delimiter used by the respective database | ' for SQL Server |
'db_ignore_errors_flag' | Flag to prompt database CLI to ignore any errors of the respective database | |
'db_user' | User from the provided connection string | root |
'db_pass' | Password from the provided connection string | prisma |
'db_host' | Host from the provided connection string | localhost |
'db_name' | Database name from the provided connection string | test |
'db_schema' | Schema from the provided connection string | dbo (for SQL Server) |
'file_path' | schema.sql (or data.sql ) file path from the provided folder | Multiple values for each schema.sql file in the given folder |