⚠ This page is served via a proxy. Original site: https://github.com
This service does not collect credentials or authentication data.
Skip to content

A dotnet tool that generates the data-api-builder configuration file with the entites from an existing database.

License

Notifications You must be signed in to change notification settings

platyscript/DbApiBuilderEntityGenerator

Repository files navigation

Data API Builder Entity generator

This is a dotnet tool that generates the data-api-builder data-api-builder configuration file with the entites from an existing database.

** This is currently alpha release **

Installation

dotnet tool install --global DbApiBuilderEntityGenerator --version 1.0.3-alpha

Usage

Command

Generate the dab-config.json file.

dab-entity-gen generate -p SqlServer -c Data Source=localhost;Initial Catalog=pubs;User ID=sa;Password=Passw0rd1;Encrypt=False -f sample.yaml

Configuration file

Sample Configuration file:

# the connection string to the database
connectionString: "Data Source=(local);Initial Catalog=Tracker;Integrated Security=True"

# the database provider name. Default:SqlServer
provider: SqlServer

# config name to read the connection string from the user secrets file
connectionName: "ConnectionStrings:Generator"

# the user secret identifier, can be shared with .net core project
userSecretsId: "984ef0cf-2b22-4fd1-876d-e01499da4c1f"

# the directory to output the configuration. Default is current.
outputDirectory: .\

# tables to include or empty to include all
tables:
  - Priority
  - Status
  - Task
  - User

# schemas to include or empty to include all
schemas:
  - dbo

# exclude tables or columns
exclude:
  # list of expressions for tables to exclude, source is Schema.TableName
  tables:
    - exact: dbo.SchemaVersions
    - regex: dbo\.SchemaVersions$
  # list of expressions for columns to exclude, source is Schema.TableName.ColumnName
  columns:
    - exact: dbo.SchemaVersions\.Version
    - regex: dbo\.SchemaVersions\.Version$

# how to generate entity class names from the table name. Preserve|Plural|Singular. Default: Singular
entityNaming: Singular

# how to generate relationship collections names for the entity.  Default: Plural
relationshipNaming: Plural

# Rename entities and properties with regular expressions.  Matched expressions will be removed.
renaming:
  entities:
    - ^(sp|tbl|udf|vw)_
  properties:
    - ^{Table.Name}(?=Id|Name)

#templateFilePath: ./template/dab-config1.csx 

Sample Configuration

Sample configuration file:- Sample.yaml

Sample template file

Sample template file:- db-config.csx

Work in Progress

  • Permissions object is currently hardcoded. Need to get it from the database
  • Change template from csx to liquid.
  • Add an init command to generate an initial configuration yaml file.
  • Develop a UI to update configuratio json file once generated.

About

A dotnet tool that generates the data-api-builder configuration file with the entites from an existing database.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages