Join GitHub today
This wiki is very new, but I will try to flesh it out some in the coming months. For now, here are some starting points:
- Derived Attributes — describes one of the key ideas of Schemaform's design
- Sample Operation — presents an example of some of the current DSL
- Schema Deformations — background on the original plan for this version of Schemaform
Schemaform is a high-level database programming DSL for Ruby, intended to greatly reduce the work needed to produce a performant back-end from a complex, normalized design. In simple terms, it provides the power of spreadsheets in a relational context. With Schemaform, you can:
- capture even your most complex structures, relationships, and processing quickly and concisely
- leave all the denormalization and performance-related tuning to the system
- never compose another line of SQL
- focus instead on making your software great.
Schemaform does for you the very work you would normally have to do by hand and intuition when taking a database-driven system from design to implementation.
I started developing the Schemaform language in 2004. I wanted a high-level database programming language that could do all the grunt work I normally do when turning a high-level design into something that actually works. I did get the language working, at the time, but the generated code did not perform to my expectations, and I eventually shelved the project. Over the last few years, I've been mulling over how to solve the problems, and am now taking a much more pragmatic approach.