背景
利用現有的開源框架,做了一個代碼生成工具,因為以后都打算用這個工具,就重構了代碼、更新了文檔和完善了示例。這篇文章簡單介紹一下工具的組成和API文檔的使用。一則:為了我的團隊成員;二則:為了讓需要的朋友可以下載使用。
為什么要使用這個工具
- 簡單:核心就2個類+四個API方法、asp的模板語法(ejs)、為了方便代碼生成,數據庫元數據做了預處理(如:可空類型、C#類型的字符串表示)。
- 快捷:比如:你按照三層架構定義了3個模板,且你的數據庫有10個表,一個方法調用會生成30個文件(目標可以自定義)。
- 文檔齊全:中文文檔,不懂英文也OK。
- 容易DIY:沒有限制、沒有升級。
- 元數據定義方便:動態類型,想咋弄咋弄。
工具結構
工具下載:http://yunpan.cn/Q5FrvqT46Ujum。
示例生成項目
項目結構
執行代碼
test.js
1 var util = require('util'); 2 var _ = require('underscore'); 3 4 var DatabaseSchemaReader = require('database_schem_reader').DatabaseSchemaReader; 5 var CodeGenerator = require('code_generator').CodeGenerator; 6 7 var schemaReader = DatabaseSchemaReader.createSqlClientReader( 8 'Data Source=(LocalDB)\\v11.0;AttachDbFilename=' + __dirname + '\\test_database\\Test.mdf;Integrated Security=True;Connect Timeout=30' 9 ); 10 11 schemaReader.readAll(function (error, schema) { 12 _.each(schema.tables, function (table) { 13 14 CodeGenerator.executeTemplateDirectory('./templates/table', { 15 table: table, 16 baseNamespace: 'Test' 17 }); 18 19 }); 20 21 console.log('success!') 22 });