开源DataBase组件:FluentMigrator

简介:

      今天将介绍一款开源组件FluentMigrator,其提供了jQuery式链式编程方式,和3.0后的表达式语法使其语义清晰。主要提供我们队数据库结构的维护,版本控制回滚和新增。适用于 敏捷和TDD实践中我们的需求功能的递增,数据结构增加,可持续化集成,应用场景感觉如其名Fluent(流畅)。

一:我们先利用NuGet安装FluentMigrator:

1:在vs在打开Package Manager Console:

image

2:安装FluentMigrator:

image

3:如果你希望控制台提交,可以安装其tools:

image

 

二:下面我面做一个简单的实例订单Order(这里仅列出其部分字段,不会考虑实际业务):

DO:

复制代码
using System; 

namespace FluentMigratorTest 

     public   class  Orders 
    { 
         public  int ID {  getset; } 

         public  string CustomerID {  getset; } 

         public  decimal DisCount {  getset; } 

         public DateTime OrderDate {  getset; } 
    } 
}

 
复制代码

 表结构块:

复制代码
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using FluentMigrator; 

namespace FluentMigratorTest 

    [Migration( 0)] 
     public  class OrderMigration:Migration 
    { 
         public  override  void Up() 
        {                      
            Create.Table( " Orders_test ")                
                .WithColumn( " ID ").AsInt32().Identity().PrimaryKey( " id_pk ").Indexed( " Orders_Pk_ID "
                .WithColumn( " CustomerID ").AsString().ForeignKey( " Customers "" CustomerID ").NotNullable() 
                .WithColumn( " DisCount ").AsDecimal().WithDefaultValue( 0
                .WithColumn( " OrderDate ").AsDateTime().WithDefault(SystemMethods.CurrentDateTime); 
        } 

         public  override  void Down() 
        {   
            Delete.Table( " Orders_test "); 
        } 
    } 
}
复制代码

 

其提供了Up版本递增和Down回滚。语法是不是很流畅?其不仅这些功能还提供了:

 

image

image

 

对表结构的新增,修改,删除,执行sql方法。

利用其提供的tools,更新在数据库

image

支持数据库:

  • sqlserver2000
  • sqlserver2005
  • sqlserver2008
  • sqlserverce
  • sqlserver
  • mysql
  • postgres
  • oracle
  • sqlite
  • jet

    并支持Profile,部署开发和测试不通的数据库。

    更多其它信息请参加:https://github.com/schambers/fluentmigrator/wiki

     

     

     


  • 作者:破  狼 
    出处:http://www.cnblogs.com/whitewolf/ 
    本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。该文章也同时发布在我的独立博客中-个人独立博客博客园--破狼51CTO--破狼。http://www.cnblogs.com/whitewolf/archive/2012/05/27/2520422.html


    相关文章
    |
    安全 Java
    Springboot最全权限集成Redis-前后端分离-springsecurity-jwt-Token
    Springboot最全权限集成Redis-前后端分离-springsecurity-jwt-Token
    |
    2天前
    |
    人工智能 JSON API
    全网刷屏的 Jev 模型正式开放!一手实战测评 + 保姆级教程
    全网爆火的 Jev 模型是什么?有什么用?怎么使用?怎么接入 AI 编程工具?效果真的好么?傻子可懂的 Jev 保姆级实战教程 + 项目实战测评来啦
    5198 6
    |
    1天前
    |
    人工智能 测试技术 API
    最近全网爆火的 Jev 到底是什么?适合干什么、怎么用,一篇讲透!
    Jev是TypeSafe AI推出的“系统一模型”,不生成文本,专做毫秒级结构化决策:Choice(多选)、Score(打分)、Noul(是非概率)。响应快193倍、成本低444倍,适合工单路由、内容审核、测试定级等高频判断场景。
    759 0
    最近全网爆火的 Jev 到底是什么?适合干什么、怎么用,一篇讲透!
    |
    14天前
    |
    人工智能
    千问办公官网入口:阿里AI办公QwenWork产品页和免费网页端链接
    千问办公官网含两大入口:一是网页端(qwenwork.cn),即开即用,支持浏览器直接访问;二是阿里云产品页 https://t.aliyun.com/U/JNKJuO 提供免费/付费版详情、功能介绍及使用指南。
    |
    15天前
    |
    人工智能 自然语言处理 安全
    阿里云千问办公 QwenWork详细介绍:产品核心能力、典型场景、价格及常见问题解答
    千问办公是阿里云推出的一站式AI办公平台,主打"不止于对话,更注重交付",依托通义千问旗舰大模型,用户一句话即可完成数据分析、PPT生成、视频剪辑等复杂任务,直接输出可用成果。产品深度打通钉钉生态与企业OA,覆盖桌面端、网页端,提供企业标准版198元/人/月等多档订阅方案,新用户注册即赠2000积分,适配工程师、HR、财务等多职业办公场景,成为能动手干活的"全能AI同事"。
    |
    13天前
    |
    IDE 开发工具
    Qoder 上线 Sonus 模型,Computer Use 能力全面增强
    Qoder国际版上线全新内置大模型Sonus(/ˈsoʊnəs/),全球领先,专精超长任务执行与电脑操作(Computer Use)。配合Qoder桌面端0.2.3版本,可自主完成编程、金融建模、科研及表格制作等复杂工作。现全面支持Qoder全系产品,效率提升3.2倍。
    1717 8
    Qoder 上线 Sonus 模型,Computer Use 能力全面增强
    |
    16天前
    |
    缓存 人工智能 自然语言处理
    阿里云qwen3.8-flash大模型介绍:模型能力、模型价格、免费额度与最新活动
    本文是阿里云百炼平台Qwen3.8-Flash大模型的选型接入指南,作为兼顾性能与响应速度的高性价比多模态模型,它支持百万级上下文窗口、全场景多模态输入与完整智能体能力矩阵,适配编程辅助、智能体协作等核心场景。文中同步梳理了最新下调的阶梯定价、夜间4折等优惠活动,搭配OpenAI兼容流式调用示例,帮助开发者低成本快速落地高并发AI应用。
    阿里云qwen3.8-flash大模型介绍:模型能力、模型价格、免费额度与最新活动
    |
    9天前
    |
    缓存 IDE Java
    【保姆级】Android Studio下载、安装和汉化教程(2026最新)
    Android Studio 是 Google 官方推出的免费 Android 应用开发集成环境,基于 IntelliJ IDEA,内置模拟器、调试器、性能分析及 Compose 界面工具,功能全面,文档丰富,是安卓开发首选工具。(239字)
    1052 1