I started working on SQLisHard as a place to point folks when they asked me how to learn SQL. SQLisHard was inspired by TryRuby, a site to interactively learn Ruby (with much better artistic ability than I have, obviously).
I've written blog posts based on this site and this was the basis of scripts that became a database deployment talk:
- 2013: Deploying Database Changes with PowerShell
- 2013: SQL is Hard
- 2018: SQL is Hard (still): Reviving a stale application
When I wrote SQLisHard, I was working at PrecisionLender, which heavily influenced both the tech stack and some of the more experimental choices. Don't copy those choices :). Looking back, some of are technologies I never used again, others are ones that I learned how to use better later (knockout), and a very few were mature enough to influence other projects.
The build and deployment process is automated; a custom build setup in TeamCity watches for code changes, running unit and integration tests (Nunit, Selenium, SpecFlow, Jasmine), and deploys both local test environments and the production environment.