Book Image

Testing with F#

By : Mikael Lundin
Book Image

Testing with F#

By: Mikael Lundin

Overview of this book

Table of Contents (17 chapters)
Testing with F#
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Setting up and tearing down databases


When you're working in a greenfield project and have a favorable situation of designing a database from the ground up, you have complete control over your database when it comes to integration tests, if you do it correctly.

While working on a greenfield project where database development is part of the project, you should adopt fluent migrations as a part of the development cycle. Writing change scripts for database changes has been around for a very long time, but it was Ruby on Rails that popularized migrations as a part of the software development lifecycle, and this has been adopted by .NET in the FluentMigrator library.

Let's start by adding a reference to the FluentMigrator library in our project:

Now we can write our first migration:

open FluentMigrator

type Email = { FromAddress : string; ToAddress : string; Subject : string; Body : string }

[<Migration(1L)>]
type CreateEmailTable () =
    inherit Migration()

    let tableName = "Email"...