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).
- SQLisHard is still live here: Try It!
- Source Code: github/sqlishard
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 SQLisHard application runs in Windows Azure and executes queries against sample data that resides in an Azure SQL Database. The site runs as a shared website in Windows Azure Web Sites.
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.