SmartCode.CLI
2.0.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet tool install --global SmartCode.CLI --version 2.0.0
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local SmartCode.CLI --version 2.0.0
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=SmartCode.CLI&version=2.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
nuke :add-package SmartCode.CLI --version 2.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
SmartCode
SmartCode = IDataSource → IBuildTask → IOutput ⇒ Build Everything
Introduction
SmartCode.Db (Code generator)
Demo
Getting Started
- Install from .NET Core Global Tool
dotnet tool install --global SmartCode.CLI
- edit build configuration file (default: SmartCode.yml)
- the command line executes the SmartCode command.
- SmartCode
- wait for prompt to enter the configuration file path (optional: SmartCode.yml file in the default program root directory)
- carriage return execution command
- wait for the end of the task execution.
- View output directory results
Building configuration files
Module: SmartSql.Starter
Author: Ahoo Wang
DataSource:
Name: Db
Paramters:
DbName: SmartSqlStarterDB
DbProvider: SqlServer
ConnectionString: Data Source=.;Initial Catalog=SmartSqlStarterDB;Integrated Security=True
Language: CSharp
TemplateEngine: Razor
Output:
Type: File
Path: 'E://SmartSql-Starter'
Build:
ClearDir:
Type: Clear
Paramters:
Dirs: '.'
Solution:
Type: Project
Template: Sln.cshtml
Output:
Path: '.'
Name: '{{Project.Module}}'
Extension: '.sln'
SmartSqlConfig:
Type: Project
Template: SqlMapConfig.cshtml
Output:
Path: '{{Project.Module}}.API'
Name: 'SmartSqlMapConfig'
Extension: '.xml'
Entity_Project:
Type: Project
Template: Proj.cshtml
Output:
Path: '{{Project.Module}}.Entity'
Name: '{{Project.Module}}.Entity'
Extension: '.csproj'
Entity:
Type: Table
Module: Entity
Template: Entity.cshtml
Output:
Path: '{{Project.Module}}.{{Build.Module}}'
Extension: '.cs'
NamingConverter:
Table:
Tokenizer:
Type: Default
Paramters:
IgnorePrefix: 'T_'
Delimiter: '_'
Converter:
Type: Default
Paramters: { }
View:
Tokenizer:
Type: Default
Paramters:
IgnorePrefix: 'V_'
Delimiter: '_'
Converter:
Type: Pascal
Column:
Tokenizer:
Type: Default
Paramters:
Delimiter: '_'
Converter:
Type: Pascal
Repository_Project:
Type: Project
Template: Proj-Repository.cshtml
Output:
Path: '{{Project.Module}}.Repository'
Name: '{{Project.Module}}.Repository'
Extension: '.csproj'
Repository:
Type: Table
Module: Repository
Template: Repository.cshtml
Output:
Path: '{{Project.Module}}.{{Build.Module}}'
Name: 'I{{OutputName}}Repository'
Extension: .cs
NamingConverter:
Table:
Tokenizer:
Type: Default
Paramters:
IgnorePrefix: 'T_'
Delimiter: '_'
Converter:
Type: Default
View:
Tokenizer:
Type: Default
Paramters:
IgnorePrefix: 'V_'
Delimiter: '_'
Converter:
Type: Default
SqlMap:
Type: Table
Template: SqlMap-SqlServer.cshtml
Output:
Path: '{{Project.Module}}.API/Maps'
Extension: .xml
IgnoreTables: null
NamingConverter:
Table:
Tokenizer:
Type: Default
Paramters:
IgnorePrefix: 'T_'
Delimiter: '_'
Converter:
Type: Default
View:
Tokenizer:
Type: Default
Paramters:
IgnorePrefix: 'V_'
Delimiter: '_'
Converter:
Type: Default
Column:
Tokenizer:
Type: Default
Paramters:
IgnorePrefix: 'T_'
Delimiter: '_'
Converter:
Type: Default
Parameter Name | Description |
---|---|
Module | Root Module Name |
Author | Author |
DataSource | Data Source |
Language | Language: CSharp/Java/.... |
TemplateEngine | Template Engine: Currently Built: Razor/Handlebars |
Output | Output |
Build | Task Build |
DataSource Data Source, Name: Db
Property Name: Db, using the DbSource plugin as a data source
DbSource.Paramters accepts the following three parameters:
Parameter Name | Description |
---|---|
DbName | Database Name |
DbProvider | Data Drivers: MySql, MariaDB, PostgreSql, SqlServer, Oracle, SQLite |
ConnectionString | Connection String |
Build Task Build
Parameter Name | Description |
---|---|
Type | Build type, Clear: used to clean up the directory s / file s, Project: used to build a single file, such as: solution file / project file, Table: used to build a data table-based file, such as: Entity , Repository file |
Module | Building Module Name |
TemplateEngine | Template Engine, optional, default to root module engine |
Template | Template File |
Output | Output |
IncludeTables | Include table name s |
IgnoreTables | Ignore table name s |
NamingConverter | Named Converter |
Paramters | Custom Build Parameters |
NamingConverter Name Conversion
Attribute | Description |
---|---|
Type | Table/View/Column |
Tokenizer | Word Segmenter |
Converter | Converter: Camel/Pascal/None |
NamingConverter.Tokenizer Word Segmenter
Attribute | Description |
---|---|
Type | Default |
Paramters.IgnorePrefix | Ignore prefix characters |
Paramters.Delimiter | Separator |
How to contribute a template
In order to allow more people to participate in the construction of SmartCode templates, there are the following template specifications:
- The template author creates a new directory in src/SmartCode.Generator/RazorTemplates and names it in the author's English name.
- Place the template in the author directory
- The README.md file must be included in the author directory to illustrate the purpose of the template and how it is used.
- Submit PR
SmartCode.ETL(Extract-Transform-Load)
ETL Building configuration files
Author: Ahoo Wang
DataSource:
Name: Extract
Paramters:
DbProvider: SqlServer
ConnectionString: Data Source=.;Initial Catalog=SmartSqlDB;Integrated Security=True
Query: SELECT [Id],[UserName],[Pwd],[Status],[LastLoginTime],[CreationTime],[Deleted] FROM [T_User] Where Id>@LastMaxId And CreationTime>@LastQueryTime
PKColumn: Id
Paramters:
ETLCode: SmartCode.ETL.Test
ETLRepository: PG
Build:
Transform:
Type: Transform
Paramters:
Script: Load2PostgreSql.cshtml
Load2PostgreSql:
Type: Load
Paramters:
DbProvider: PostgreSql
ConnectionString: Server=localhost;Port=5432;User Id=postgres;Password=SmartSql; Database=smartsql_db;
Table: t_user
ColumnMapping: [{Column: UserName,Mapping: user_name}
,{Column: Pwd,Mapping: pwd}
,{Column: Status,Mapping: status}
,{Column: LastLoginTime,Mapping: lastlogintime}
,{Column: CreationTime,Mapping: creationtime}
,{Column: Deleted,Mapping: deleted}]
PreCommand:
PostCommand:
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.1 is compatible. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
Version | Downloads | Last updated |
---|---|---|
3.0.1 | 2,492 | 6/16/2022 |
3.0.0 | 1,938 | 3/3/2022 |
2.4.0-preview.1 | 149 | 6/15/2022 |
2.4.0-preview.0 | 176 | 5/7/2022 |
2.3.7 | 1,915 | 3/3/2022 |
2.3.6 | 2,636 | 6/10/2020 |
2.3.5 | 2,016 | 4/29/2020 |
2.3.4 | 1,957 | 3/27/2020 |
2.3.3 | 1,682 | 3/27/2020 |
2.3.2 | 1,884 | 3/11/2020 |
2.3.1 | 2,066 | 3/11/2020 |
2.3.0 | 1,930 | 3/11/2020 |
2.2.95 | 1,851 | 2/17/2020 |
2.2.94 | 1,838 | 2/14/2020 |
2.2.93 | 1,958 | 2/14/2020 |
2.2.92 | 1,872 | 11/18/2019 |
2.2.90 | 2,005 | 11/12/2019 |
2.2.88 | 2,022 | 10/30/2019 |
2.2.86 | 1,912 | 10/23/2019 |
2.2.85 | 1,988 | 10/22/2019 |
2.2.84 | 1,787 | 10/22/2019 |
2.2.83 | 2,059 | 10/22/2019 |
2.2.82 | 1,880 | 10/21/2019 |
2.2.81 | 1,803 | 10/21/2019 |
2.2.80 | 1,674 | 10/21/2019 |
2.2.70 | 1,981 | 8/21/2019 |
2.2.68 | 1,973 | 8/5/2019 |
2.2.66 | 1,844 | 7/29/2019 |
2.2.65 | 1,844 | 7/22/2019 |
2.2.62 | 1,753 | 7/19/2019 |
2.2.60 | 2,133 | 7/19/2019 |
2.2.58 | 2,004 | 7/10/2019 |
2.2.57 | 2,054 | 7/8/2019 |
2.2.56 | 1,848 | 6/28/2019 |
2.2.55 | 2,007 | 6/11/2019 |
2.2.53 | 2,001 | 6/10/2019 |
2.2.52 | 2,135 | 6/4/2019 |
2.2.50 | 1,984 | 6/3/2019 |
2.2.48 | 1,896 | 5/23/2019 |
2.2.46 | 1,794 | 5/23/2019 |
2.2.45 | 2,909 | 5/7/2019 |
2.2.44 | 2,021 | 5/6/2019 |
2.2.42 | 2,149 | 4/30/2019 |
2.2.40 | 2,040 | 4/30/2019 |
2.2.38 | 2,235 | 4/30/2019 |
2.2.36 | 1,698 | 4/29/2019 |
2.2.30 | 1,985 | 4/26/2019 |
2.2.25 | 2,095 | 4/26/2019 |
2.2.22 | 1,892 | 4/25/2019 |
2.2.20 | 1,937 | 4/24/2019 |
2.2.10 | 1,970 | 4/23/2019 |
2.2.8 | 1,966 | 4/23/2019 |
2.2.2 | 2,028 | 4/18/2019 |
2.2.0 | 1,708 | 4/16/2019 |
2.1.10 | 1,686 | 4/16/2019 |
2.1.9 | 2,058 | 4/11/2019 |
2.1.8 | 1,838 | 4/10/2019 |
2.1.6 | 1,767 | 4/10/2019 |
2.1.5 | 2,186 | 4/1/2019 |
2.1.3 | 1,887 | 3/29/2019 |
2.1.2 | 1,732 | 3/25/2019 |
2.1.1 | 2,007 | 3/22/2019 |
2.1.0 | 1,873 | 3/22/2019 |
2.0.5 | 2,076 | 2/27/2019 |
2.0.4 | 2,352 | 12/17/2018 |
2.0.2 | 2,118 | 12/14/2018 |
2.0.0 | 102,741 | 12/14/2018 |
1.18.2 | 115,098 | 11/22/2018 |
1.18.1 | 15,467 | 11/16/2018 |
1.16.20 | 12,705 | 11/16/2018 |
1.16.19 | 12,254 | 11/16/2018 |
1.16.18 | 6,743 | 11/14/2018 |
1.16.16 | 3,590 | 11/7/2018 |
1.16.15 | 2,135 | 11/4/2018 |
1.16.13 | 8,994 | 11/4/2018 |
1.16.12 | 4,193 | 11/1/2018 |
1.16.6 | 10,372 | 10/31/2018 |
1.16.2 | 10,969 | 10/31/2018 |
1.16.1 | 46,630 | 10/31/2018 |
1.16.0 | 2,241 | 10/30/2018 |
1.12.0 | 2,057 | 10/30/2018 |
1.9.0 | 2,245 | 10/27/2018 |
1.8.1 | 2,699 | 10/26/2018 |
1.8.0 | 2,905 | 10/25/2018 |
1.7.6 | 3,198 | 10/24/2018 |
1.7.5 | 3,052 | 10/24/2018 |
1.7.2 | 3,431 | 10/22/2018 |
1.7.1 | 2,801 | 10/21/2018 |
1.6.9 | 2,366 | 10/20/2018 |
1.6.8.1 | 2,778 | 10/20/2018 |
1.6.8 | 3,083 | 10/20/2018 |
1.6.2 | 2,249 | 10/19/2018 |
1.5.0 | 2,301 | 10/18/2018 |
1.4.6 | 2,367 | 10/18/2018 |
1.3.9 | 2,297 | 10/17/2018 |
1.3.8 | 2,375 | 10/17/2018 |
1.3.6 | 2,128 | 10/15/2018 |
1.3.4 | 2,501 | 10/11/2018 |
1.3.0 | 2,193 | 10/9/2018 |
1.2.0 | 2,065 | 10/8/2018 |
1.1.0 | 2,499 | 10/7/2018 |
1.0.0 | 2,402 | 10/7/2018 |
add SmartCode.ETL.LoadToES