On Jun 4, 3:29 ¨Âí¬ Äáöå Èï÷åìì ¼çòïõðó®²°®®®Àçòáîäæåî÷éãë®îåô÷òïôåº
> "Migrations" really had me mystified when I started trying to figure out Rails.
> The idea that I would ever consider letting the middleware have any kind of write
> access to the database schema seemed so improbable [...]

You can use a migration that speaks raw, engine-specific SQL to the
DB, and still have the benefit of migrating up and down.

> I've been looking at various non-Rails options, and it looks like, to a certain degree,
> it turns into a snap-your-own-together situation, where I get to pick a framework [...]
> an adapter [...] a templating engine [...], and an ORM.

I personally recommend Sinatra, Haml, and Sequel as the foundation,
with Thin and Nginx as deployment details.

(To lend some credence to my recommendation, I've been doing web
development since 1994, professionally since 1996, and used beyond the
level of experimentation: VBScript ASP, JScript ASP, ASP.NET, Rails,
Ramaze, Sinatra with hand-rolled ORMs, ActiveRecord and Sequel,
deployed on IIS, Apache, Webrick, Mongrel, Thin, backed by MSSQL,
SQLite, and PostgreSQL.)

> I decided it made more sense to try to find an ORM that was more comfortable with the idea
> it could only reflect the database's schema, rather than trying to make the DB schema
> conform to Ruby objects.

Reflecting convention-over-configuration thinking, Sequel requires the
least amount of work (no configuration) when your design matches what
it expects, but you have the ability to customize table names, PKs, FK
columns, etc. to match your setup.

I've not yet had a schema that I couldn't map nicely to reasonable
objects, though I'm often designing with the ORM in mind instead of
mapping a completely legacy schema.

Sequel's maintainer (Jeremy Evans) seems a big fan of PostgreSQL, is
quite knowledgeable on deep DB concetps, and (both at the moment and
for years now) has been incredibly responsive and helpful.

I find Sequel's documentation excellent, and yet that seems to be
considered its weakest point at the moment (and undergoing additional
and substantial improvement). The only area that I've personally felt
the documentation was 'deficient' is that the introductory
documentation makes it appear that Datasets are the primary intended
way of working with data, with Models and ORM an afterthought. I call
this 'deficient' because it is not the case: Sequel's Models are fully
supported, first-class, and powerful.

I encourage you to give Sequel a long, hard investigation before
discounting it.