9 votes

Quel framework ORM ruby utiliser dans une application ruby autonome ?

J'aimerais utiliser postgresql avec des clés étrangères pour définir des relations dans les données afin que d'autres plateformes/applications puissent également utiliser facilement la même base de données. Avoir une sorte de DSL ruby pour définir le schéma de la base de données avec un support de migration serait également génial. Quel framework me recommanderiez-vous ?

Existe-t-il une sorte de cadre permettant de gérer uniquement les changements de schéma de base de données, les migrations et les versions, indépendamment de l'ORM ?

6voto

Jonas Elfström Points 16453

Vérifiez DataMapper . I Je l'ai utilisé récemment avec Sinatra et déployé l'application sur Heroku. Le seul SQL que j'ai dû écrire était CREATE DATABASE. Tout le reste, DataMapper l'a fourni pour moi avec les fonctionnalités .auto_migrate ! et .auto_upgrade !

Le support des clés étrangères se trouve dans le plugin dm-constraints.

6voto

SztupY Points 4586

Entre ActiveRecord et DataMapper, je choisirais le second. Les deux utilisent le modèle Active Record, ce qui vous permet de récupérer vos tables de base de données dans des objets sans logique de domaine fantaisiste, mais DataMapper est beaucoup plus facile à utiliser et est thread-safe. Il existe également Suite mais que je ne connais pas.

Si vous avez besoin d'un framework pour gérer les migrations, je vous conseille merb . Bien qu'il s'agisse d'un framework web complet à partir de la version 1.1, il peut gérer les migrations pour les trois frameworks ORM mentionnés précédemment (y compris les migrations séparées et automatiques).

2voto

Pistos Points 8997

M4DBI peut également présenter un intérêt. Un ORM de bas niveau qui exploite DBI pour vous permettre d'écrire du SQL brut si vous le souhaitez.

-1voto

DanSingerman Points 17301

Y a-t-il une bonne raison de ne pas utiliser ActiveRecord ? C'est une sorte de standard pour Ruby...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X