Chris Poirier edited this page Feb 26, 2014 · 9 revisions

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:

About 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.

If you have questions or comments, send me a message here, or drop me an email at

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.