开源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/archive/2012/05/27/2520422.html,如需转载请自行联系原作者

  • 目录
    相关文章
    |
    关系型数据库 数据库 Oracle
    |
    SQL Oracle 关系型数据库
    WARNING: Too Many Parse Errors With error=911 When Running a JDBC Application Connected to an Oracle 19c database
    WARNING: Too Many Parse Errors With error=911 When Running a JDBC Application Connected to an Oracle 19c database (
    599 2
    |
    Oracle 关系型数据库
    19c 开启Oracle Database Vault
    19c 开启Oracle Database Vault
    440 1
    |
    SQL Oracle 关系型数据库
    Connect to Autonomous Database Using Oracle Database Tools
    Connect to Autonomous Database Using Oracle Database Tools
    618 156
    |
    人工智能 Oracle 关系型数据库
    一篇文章弄懂Oracle和PostgreSQL的Database Link
    一篇文章弄懂Oracle和PostgreSQL的Database Link
    |
    Oracle 关系型数据库 Linux
    Requirements for Installing Oracle Database/Client 19c on OL8 or RHEL8 64-bit (x86-64) (Doc ID 2668780.1)
    Requirements for Installing Oracle Database/Client 19c on OL8 or RHEL8 64-bit (x86-64) (Doc ID 2668780.1)
    334 0
    |
    Oracle 关系型数据库 数据库
    windows Oracle Database 19c 卸载教程
    打开任务管理器 ctrl+Shift+Esc可以快速打开任务管理器,找到oracle所有服务然后停止。 停止数据库服务 在开始卸载之前,确保数据库服务已经停止。你可以使用以下命令停止数据库服务: net stop OracleServiceORCL Universal Installer 卸载Oracle数据库程序 一般情况运行Oracle自带的卸载程序,如使用Universal Installer 工具卸载。 点击开始菜单找到Oracle,然后点击Oracle安装产品,再点击Universal Installer。 点击之后稍等一会然后会进入进入下图界面,点击卸载产品。 选中要删除的Orac
    2725 1
    |
    SQL Oracle 安全
    Oracle Database Vault Access Control Components
    Oracle Database Vault Access Control Components
    248 0
    |
    Oracle 安全 关系型数据库
    What Is Oracle Database Vault?
    The Oracle Database Vault security controls protect application data from unauthorized access, and helps you to comply with privacy and regulatory requirements. You can deploy controls to block privileged account access to application data and control sensitive operations inside the database using
    190 0

    热门文章

    最新文章