Works with micro-startups & small teams to build niche software, typically database-backed desktop-style enterprise-oriented web apps running server-side in pure Java on the Vaadin framework.
Previously worked in long-term client engagements building in-house custom-crafted departmental database apps for cost accounting, business operations, and workflow.
Hobbies include extreme dog-walking and welding bird-cages. And spending way too much time on Stack Overflow (user:642706).
Flyway – Database migration made easy
Introduction to Flyway, the Java-based open-source tool for migrating your database changes between your dev-test-QA-prod systems. Evolve your database schema easily and reliably across all your instances. Like version control for your code, but for your database.
Organize the updates to your database structure as a series of SQL scripts and optional Java classes, to be applied automatically.
If you manage the changes in the structure of your database with a rag-tag bunch of SQL scripts, a pile of emails, some shouts across the cube walls, luck, and desperate hope, then you may be interested in learning how to use Flyway or a similar tool to organize the process into a reliable, repeatable, testable, automated, and stress-free system.
Slides available in PDF document: https://drive.google.com/open?id=0B4-Q2BC0_vRNQmU4d1NqUnFiVUk
In a Servlet-based web app, we have Requests & Responses going back and forth between server and user’s web browser. But what if you have set-up work to perform, chores that need to done before that first Request arrives? And similarly, what about tear-down work, cleaning-up after the last Response has been sent when your web app is shutting-down?
The Servlet spec does indeed provide hooks into your web app’s lifecycle, giving you an opportunity to perform set-up & tear-down chores such as loading database driver, initializing connection pool, database migration, reading configuration files, and verifying services are ready and available.
This quick talk shows the listener interfaces that provide the hooks to you, with code examples.