SmartCode

SmartCode = IDataSource -> IBuildTask -> IOutput => Build Everything!!!

APACHE-2.0 License

Stars
566

Bot releases are visible (Hide)

SmartCode - v2.4.0-preview.0 Latest Release

Published by Ahoo-Wang over 2 years ago

What's Changed

Full Changelog: https://github.com/dotnetcore/SmartCode/compare/v2.3.7...v2.4.0-preview.0

SmartCode - v2.3.7

Published by Ahoo-Wang over 2 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/dotnetcore/SmartCode/compare/v2.2.85...v2.3.7

SmartCode - v2.2.85

Published by Ahoo-Wang almost 5 years ago

  1. optimize Java-SpringBoot-MyBatis template
  2. Optimize table field sorting for MySql-Gen
  3. fix etl template errors, add geometry and geography mapping. ->> thx @beginor
SmartCode - v2.2.80

Published by Ahoo-Wang almost 5 years ago

  1. add mediumint to DbTypeMap
  2. update SmartSql version for support PropertyChangedTrack
  3. add ITableSource for Gen
  4. update SmartSql version for support new features (https://github.com/dotnetcore/SmartSql/releases)
  5. add CryptoTypeHandler
  6. 修复 ORACLE 数据库查询列IsNullable属性反了的问题 ,thx @XiaoHeitu
  7. optimize Output
  8. add support Java-SpringBoot-MyBatis template
SmartCode - v2.2.56

Published by Ahoo-Wang over 5 years ago

  1. add db to TypeScript map (thx @beginor )
  2. add basic TypeScript template (thx @beginor )
  3. add ToSingular and ToPlural method. (thx @beginor )
  4. optimize GetEntity template params
  5. refactor ConfigBuilder
  6. fix #37
SmartCode - v2.2.52

Published by Ahoo-Wang over 5 years ago

  1. fix #29
  2. add support global default NamingConverter
  3. fix #30
# Please install dotnet-format first!
# dotnet tool install -g dotnet-format
  CodeFormat:
    Type: Process
    Parameters:
      FileName: powershell
      WorkingDirectory: '{{Project.Output.Path}}'
      Args: dotnet-format
  1. add support global default TableFilter -> fix #32
TableFilter:
  IgnoreNoPKTable: true
  IgnoreView: true
SmartCode - v2.2.45

Published by Ahoo-Wang over 5 years ago

  • add NoneTokenizer
SmartCode - v2.2.44

Published by Ahoo-Wang over 5 years ago

  1. add Mysql DB-Type-Map
  2. update to SmartSql-v4
  3. add git-ignore template
  4. fix ETL load Json bug
  5. add 'double'&'mediumtext' TypeMap for MySql=>CSharp
  6. add ExtractDictionaryDataSource
  7. fix ProjectBuilder bug
  8. add support pull git template
  9. add support Absolute Path Template
  10. fix PKColumn.Name not equal to "Id" bug. Ref #28
SmartCode - v2.2.10

Published by Ahoo-Wang over 5 years ago

  1. add support Docker
    image
  BuildDocker:
    Type: Process
    Parameters: 
      FileName: powershell
      WorkingDirectory: '{{Project.Output.Path}}'
      Args: docker build -t {{Project.Parameters.DockerImage}}:v1.0.0 .

  RunDocker:
    Type: Process
    Parameters: 
      FileName: powershell
      WorkingDirectory: '{{Project.Output.Path}}'
      Args: docker run --name {{Project.Parameters.DockerImage}} --rm -d -p 8008:80 {{Project.Parameters.DockerImage}}:v1.0.0 .

image

image
image

SmartCode - v2.2.0

Published by Ahoo-Wang over 5 years ago

  1. refactor ProcessBuildTask
  Publish:
    Type: Process
    Parameters: 
      FileName: powershell
      WorkingDirectory: '{{Project.Output.Path}}'
      Args: dotnet publish -c Release -o '{{Project.Output.Path}}\publish'

  Run:
    Type: Process
    Parameters: 
      FileName: powershell
      WorkingDirectory: '{{Project.Output.Path}}\publish'
      CreateNoWindow: false
      RedirectStandardOutput: false
      RedirectStandardError: false
      WaitForExit: false
      WriteLines: ['dotnet {{Project.Module}}.API.dll']

  RunChrome:
    Type: Process
    Parameters: 
      FileName: C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
      CreateNoWindow: false
      Args: http://localhost:5000/swagger
  1. change word Paramters -> Parameters (Broken change)
  2. change sln directory structure
  3. update Template to SmartSql-v4
SmartCode - v2.0.5

Published by Ahoo-Wang over 5 years ago

SmartCode - v2.0.0

Published by Ahoo-Wang almost 6 years ago

  1. optimize SmartCode.ETL.LoadTask by using DbSession
  2. optimize the template directory structure
  3. optimize IETLRepository -> IETLTaskRepository
  4. add Java-Template
  5. add SmartCode-Spring-Boot.yml
  6. update SqlMap-Partials template
  7. add SmartCode.ETL.LoadToES(ElasticSearch)
  8. update dependent lib version
SmartCode - 1.18.1

Published by Ahoo-Wang almost 6 years ago

  1. add support SmartCode.ETL.SQLite (ETL任务持久层新增支持SQLite,免去DB服务端安装!)
ETLRepository: SQLite
SmartCode - v1.16.19

Published by Ahoo-Wang almost 6 years ago

SmartCode - v1.16.15

Published by Ahoo-Wang almost 6 years ago

  1. add support ETLExtract.MaxModifyTime
  2. add support Generator.Oracle ,thx https://github.com/Ahoo-Wang/SmartCode/pull/15
  3. fix SqlServer.IsPrimaryKey bug
SmartCode - v1.16.12

Published by Ahoo-Wang almost 6 years ago

  1. fix Ignore system tables by is_ms_shipped
  2. add SqlServerToPGBuild
  3. add SqlServer to PostgreSql DataTypeMap
  4. add DelimiterConverter
  5. add SmartCode.ETL.PostgreSql
  6. SmartCode-Gen-ETL
## SqlServer 迁移到 PG 构建配置生成器模板
Module: SqlServer2PG
Author: Ahoo Wang
DataSource:
  Name: DbTable
  Paramters:
    DbName: SqlServerDB
    DbProvider: SqlServer
    ConnectionString: Data Source=localhost;database=SqlServerDB;uid=SmartSql;pwd=SmartSql
Language: PostgreSql
TemplateEngine: Razor
Paramters:
  ExtractMode: QueryTime
  ModifyTime: ModifyTime
  ExtractConnectionString: Data Source=localhost;database=SqlServerDB;uid=SmartSql;pwd=SmartSql
  LoadDbProvider: PostgreSql
  LoadConnectionString: Server=localhost;Port=5432;User Id=report;Password=SmartSql;
Output: 
  Type: File
  Path: 'E:\ETL\SmartCode.ETL.Starter'

# 构建任务
Build:

  ClearDir:
    Type: Clear
    Paramters:
      Dirs: '.'
# 生成迁移SQL
  DbToPGSql:
    Type: Single
    Module: SmartCode
    Template: Sql/DbToPGSql.cshtml
    Output: 
      Path: '.'
      Name: 'Sql'
      Extension: '.sql'
    NamingConverter:
      Table:
        Tokenizer: 
          Type: Default
          Paramters: 
            IgnorePrefix: 'T_'
            Delimiter: '_'
            UppercaseSplit: true
        Converter:
          Type: Delimiter
          Paramters: 
            Delimiter: '_'
            Mode: AllLower
            Prefix: t_

      Column:
        Tokenizer: 
          Type: Default
          Paramters: 
            Delimiter: '_'
            UppercaseSplit: true
        Converter:
          Type: Delimiter
          Paramters: 
            Delimiter: '_'
            Mode: AllLower
# 生成 SmartCode.ETL 数据迁移构建配置
  ToPGBuild:
    Type: Table
    Module: SmartCode
    Template: ETL/ToPGBuild.cshtml
    Output: 
      Path: '.'
      Name: '{{Items.CurrentTable.Name}}'
      Extension: '.yml'
    NamingConverter:
      Table:
        Tokenizer: 
          Type: Default
          Paramters: 
            IgnorePrefix: 'T_'
            Delimiter: '_'
            UppercaseSplit: true
        Converter:
          Type: Delimiter
          Paramters: 
            Delimiter: '_'
            Mode: AllLower
            Prefix: t_
      Column:
        Tokenizer: 
          Type: Default
          Paramters: 
            Delimiter: '_'
            UppercaseSplit: true
        Converter:
          Type: Delimiter
          Paramters: 
            Delimiter: '_'
            Mode: AllLower
SmartCode - v1.16.0

Published by Ahoo-Wang almost 6 years ago

  1. add SmartCode.ETL
  2. add SmartCode.ETL.PostgreSql
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: 
      
SmartCode - v1.8.0

Published by Ahoo-Wang almost 6 years ago

  1. add ProcessBuildTask
  2. support SQLite
  3. fix 中文表名输出文件名乱码
  4. add Output.Mode:Incre/Full,default Incre
  5. u SmartSql version to templates
  6. optimize log output
SmartCode - v1.6.8

Published by Ahoo-Wang about 6 years ago

  1. add 仅需配置好数据链接,直接构建整个解决方案,运行API项目进行Swagger调试!!!

  1. add just needs to configure the ConnectionString, directly build the whole solution, run the API project for Swagger debugging!!!
SmartCode - v1.5.0

Published by Ahoo-Wang about 6 years ago

  1. remove RazorLight TemplateEngine !!!