fluentmigrator连接mysql_开源DataBase组件:FluentMigrator

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

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

1:在vs在打开Package Manager Console:

f6cfea3228e3d27f18fe06f95f3396b9.png

2:安装FluentMigrator:

a7b084553a248c72fb69e7f36bebbdba.png

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

f43a02b2c7165692126ccc82b356fef0.png

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

DO:

using System;

namespace FluentMigratorTest

{

public  class  Orders

{

public int ID { get; set; }

public string CustomerID { get; set; }

public decimal DisCount { get; set; }

public DateTime OrderDate { get; set; }

}

}

表结构块:

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回滚。语法是不是很流畅?其不仅这些功能还提供了:

871f586cd92c59a3c1d42bbaf856ff55.png

2e5d5a2e360f5ad8225a204c2a3e2e68.png

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

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

7d35ed56f012398b8e92ae93a9b96819.png

支持数据库:

sqlserver2000

sqlserver2005

sqlserver2008

sqlserverce

sqlserver

mysql

postgres

oracle

sqlite

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值