While such topics as source code versioning and continuous delivery are pretty well-known, many programmers still struggle with the process of database delivery, which, if left without proper management, may lead to significant maintainability issues down the road. If you ever found your database delivery process unreliable or you are willing to avoid falling into such situation in the future, this course is for you. In Database Delivery Best Practices, you will learn different approaches to database delivery and best practices that will help you avoid running into common pitfalls in this area. First, you'll learn how to build a reliable, evolutionary process of the database delivery. The course covers such topics as state-based and migration-based approaches to database delivery: which of them is suitable in what circumstances; patterns for refactoring the database in case it is used by multiple applications. You will also go through building your own light-weight database versioning tool which will help you better understand the whole database delivery process. In the end, you'll be able to keep better track of your app's database and maintain it for future use.