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.