Désistement: Je suis le mainteneur de Sequel.
Sequel est facile à utiliser à côté ou à la place d'ActiveRecord lors de l'utilisation de Rails. Vous devez configurer manuellement la connexion à la base de données, mais à part cela, l'utilisation est similaire.Vos fichiers modèles Sequel vont dans les applications/modèles et fonctionnent de manière similaire aux modèles ActiveRecord.
La configuration des connexions à la base de données n'est pas fastidieuse, c'est généralement une ligne dans environment.rb qui nécessite une suite, et une ligne dans chaque fichier d'environnement (development.rb, test.rb, production.rb) pour faire quelque chose comme :
DB = Sequel.connect (...)
il est seulement fastidieux si vous considérez 4 lignes de code de configuration fastidieuse. L'utilisation de SQL brut n'est généralement pas un problème, sauf si vous ciblez plusieurs bases de données. La raison principale pour l'éviter est la verbosité accrue. Sequel prend en charge l'utilisation de SQL brut au moins aussi facilement que ActiveRecord, mais les temps où vous devez utiliser du SQL brut sont généralement assez rares dans Sequel.
BTW, Sequel est livré avec plusieurs plugins de validation. Le plugin validation_class_methods est similaire aux validations ActiveRecord, en utilisant des méthodes de classe. Le plugin validation_helpers a une implémentation plus simple utilisant des méthodes de niveau d'instance, mais les deux peuvent faire à peu près la même chose. Enfin, je dirai que si vous avez déjà du code ActiveRecord qui fait ce que vous voulez, cela ne vaut probablement pas la peine de porter le code sur Sequel à moins que vous ne prévoyiez d'ajouter des fonctionnalités.
J'espère ne pas être apparu comme anti-Sequel, btw: c'est en fait mon option préférée en dehors de Rails. Je ne vois pas beaucoup d'avantages à utiliser les deux bibliothèques ensemble, juste pour obtenir un peu plus d'indépendance de la plate-forme, même lorsque le SQL devient complexe. Je pense que c'est exagéré, surtout si le développeur sait déjà ce qu'il veut écrire. Le remaniement d'un tel SQL personnalisé n'était certainement pas le plus gros problème lié à la base de données auquel je devais faire face lorsque je devais passer de MySQL à Oracle! –
Une astuce sur comment obtenir un objet db suite à partir d'une connexion d'enregistrement active? – fotanus