FluentMigrator
开源DataBase组件:FluentMigrator
2012-05-27 19:09 by 破狼, 2211 阅读, 4 评论, 收藏, 编辑
今天将介绍一款开源组件FluentMigrator,其提供了jQuery式链式编程方式,和3.0后的表达式语法使其语义清晰。主要提供我们队数据库结构的维护,版本控制回滚和新增。适用于 敏捷和TDD实践中我们的需求功能的递增,数据结构增加,可持续化集成,应用场景感觉如其名Fluent(流畅)。
一:我们先利用NuGet安装FluentMigrator:
1:在vs在打开Package Manager Console:

2:安装FluentMigrator:

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

二:下面我面做一个简单的实例订单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回滚。语法是不是很流畅?其不仅这些功能还提供了:


对表结构的新增,修改,删除,执行sql方法。
利用其提供的tools,更新在数据库

支持数据库:
- sqlserver2000
- sqlserver2005
- sqlserver2008
- sqlserverce
- sqlserver
- mysql
- postgres
- oracle
- sqlite
- jet
并支持Profile,部署开发和测试不通的数据库。
FluentMigrator的更多相关文章
- 如何使用FluentMigrator进行数据库迁移
标题:如何使用FluentMigrator进行数据库迁移 地址:https://www.cnblogs.com/lwqlun/p/10649949.html 作者: Lamond Lu FluentM ...
- 使用FluentMigrator进行数据库迁移
介绍 在开发的过程中,经常会遇到数据库结构变动(表新增.删除,表列新增.修改.删除等).开发环境.测试环境.正式环境都要记性同步:如果你使用EF有自动迁移的功能,还是挺方便的.如果非EF我们需要手工处 ...
- ABP源码分析一:整体项目结构及目录
ABP是一套非常优秀的web应用程序架构,适合用来搭建集中式架构的web应用程序. 整个Abp的Infrastructure是以Abp这个package为核心模块(core)+15个模块(module ...
- 写给.NET开发者的数据库Migration方案
微软给我们提供了一种非常好用的数据库迁移方案,但是我发现周围的同学用的并不多,所以我还是想把这个方案整理一下..NET选手看过来,特别是还在通过手工执行脚本来迁移数据库的同学们,当然你也可以选择EF的 ...
- DotNet 资源大全中文版(Awesome最新版)
Awesome系列的.Net资源整理.awesome-dotnet是由quozd发起和维护.内容包括:编译器.压缩.应用框架.应用模板.加密.数据库.反编译.IDE.日志.风格指南等. 算法与数据结构 ...
- DotNet 资源大全
awesome-dotnet 是由 quozd 发起和维护.内容包括:编译器.压缩.应用框架.应用模板.加密.数据库.反编译.IDE.日志.风格指南等. https://github.com/jobb ...
- 《.NET开发资源大全》
目录 API 应用框架(Application Frameworks) 应用模板(Application Templates) 人工智能(Artificial Intelligence) 程序集处理( ...
- ABP理论学习之Nuget包
返回总目录 本篇目录 框架 测试基 ABP已经发布在Nuget上,这里是所有包的列表. 框架 Abp Abp系统的核心包.所有其他的包都依赖这个包. Abp.Web 提供了MVC和Web API都使用 ...
- 转帖:DotNet 资源大全中文版
(注:下面用 [$] 标注的表示收费工具,但部分收费工具针对开源软件的开发/部署/托管是免费的) API 框架 NancyFx:轻量.用于构建 HTTP 基础服务的非正式(low-ceremony)框 ...
随机推荐
- 我的java学习笔记(一)
第一个java程序,还是熟悉的hello world public class FirstSample { //类 public static void main(String[] args) //方 ...
- POJ 3579- Median
Description Given N numbers, X1, X2, ... , XN, let us calculate the difference of every pair of n ...
- cocos2dx --- button点击放大中心
自定义简单button,直接附着到代码: MenuItem* MenuItemNode::create( const char* normal,Ref* target,SEL_MenuHandler ...
- Nginx模块开发入门(转)
前言 Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%.与Apache相比,Nginx在高并 ...
- Pro Aspnet MVC 4读书笔记(3) - Essential Language Features
Listing 4-1. The Initial Content of the Home Controller using System; using System.Collections.Gener ...
- 【Android先进】我们为什么要创建Activity基类Activity什么是一般的基类方法
今天,它可以被视为只是基本完成了其首个商业项目,在发展过程中,风格,然而随着工作经验的积累.最终開始慢慢的了解到抽象思想在面向对象编程中的重要性,这一篇简单的介绍一下我的一点收获. 首先,在如今的项目 ...
- Codeforces 420 B. Online Meeting
B. Online Meeting time limit per test 1 second memory limit per test 256 megabytes input standard in ...
- [LeetCode] 032. Longest Valid Parentheses (Hard) (C++)
指数:[LeetCode] Leetcode 指标解释 (C++/Java/Python/Sql) Github: https://github.com/illuz/leetcode 032. Lon ...
- 使用JS的FormData对象
利用FormData对象,你可以使用一系列的键值对来模拟一个完整的表单,然后使用XMLHttpRequest发送这个"表单". 创建一个FormData对象 你可以先创建一个空的F ...
- 1005. 继续(3n+1)猜想 (25) (ZJUPAT 数学)
主题链接:http://pat.zju.edu.cn/contests/pat-b-practise/1005 卡拉兹(Callatz)猜想已经在1001中给出了描写叙述.在这个题目里.情况略微有些复 ...