Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Ruby - Base de données (database) - ORM

2 réponses
Avatar
Randy11
Bonjour,

Je souhaite accéder à une base de données en Ruby, la
contrainte est que je souhaite rester dans les paquets
de la distribution - "Jessie" pour l'instant.

Le développement d'application WEB n'est pas l'objectif
pour le moment.

Pourquoi seulement les paquets de la distribution ?
Parce que mes machines sont installées via PXE et que
cela limite les étapes de configuration et assure que
l'application écrite en Ruby fonctionnera nativement.
Cela réduit les problèmes de mises à jour, des droits
d'accès aux fichiers, etc.

En premier, je voudrais utiliser Sqlite3.

Il existe des API pour utiliser SQL directement. Il existe
aussi les "Object Relational Mapper" (ORM) qui associe
une classe (nous sommes en programmation objet) à
une ou plusieurs tables de la base de données.
J'ai découvert l'existence des ORM avec un livre sur le
framework WEB Sinatra qui utilise DataMapping qui est
inconnu dans Jessie.

J'ai regardé dans les archives de la liste, mais rien.
Sur le canal IRC des développeur de Debian pour Ruby
il m'a été proposé ActiveRecord et DataObjects. Or, je
bloque sur l'utilisation des ces librairies.

ActiveRecord à l'air si intégré à Rails qu'il semble impossible
de s'en passer. Il faut en plus maîtriser Rake, ce qui n'est pas
encore mon cas.

DataObjects fournit un fichier README.markdown qui
fait référence à : http://dataobjects.info, mais le site
n'existe pas, plus. L'API semble correspondre à DataMapper,
mais quand je test du code recopié pour DataMapper, j'ai
des erreurs générées à l'exécution.

Quelqu'un peut-il me guider dans l'utilisation d'ORM pour
Ruby : didacticiels, exemples de codes sous Jessie, manuels,
références ? Ou sur l'utilisation des bases de données toujours
sous Jessie avec les paquets de la distribution ?

Merci par avance pour toute aide.

Bonne journée.

Randy11.

2 réponses

Avatar
Gr
Bonjour Randy,
Par expérience je sais que la version de Ruby sous Jessie (2.1.x) se fait vieille et qu'à titre perso cela me bloque dans mes dev, particulièrement lorsque j'ai besoin d'une gem qui n'est pas supporté.
J'ai installé la 2.3.x via les dépôts de Stretch (pinning).
Je dis ca car je pense que tu te focalise trop sur la version de ton OS et des paquets proposés en lieu et place de la version de Ruby et des API nécessaires à ton besoin.
Autrement dit, faire évoluer son env pour répondre à ton besoin au lieu de te plier à ton env et te contraindre à une version.
Pour SQLite la gem sqlite3 ne fait pas l'affaire ?
Pour ORM je sèche :)
Cdt
À sam. janv. 21 17:21:41 2017 GMT+0100, Randy11 a écrit :
Bonjour,
Je souhaite accéder à une base de données en Ruby, la
contrainte est que je souhaite rester dans les paquets
de la distribution - "Jessie" pour l'instant.
Le développement d'application WEB n'est pas l'objectif
pour le moment.
Pourquoi seulement les paquets de la distribution ?
Parce que mes machines sont installées via PXE et que
cela limite les étapes de configuration et assure que
l'application écrite en Ruby fonctionnera nativement.
Cela réduit les problèmes de mises à jour, des droits
d'accès aux fichiers, etc.
En premier, je voudrais utiliser Sqlite3.
Il existe des API pour utiliser SQL directement. Il existe
aussi les "Object Relational Mapper" (ORM) qui associe
une classe (nous sommes en programmation objet) à
une ou plusieurs tables de la base de données.
J'ai découvert l'existence des ORM avec un livre sur le
framework WEB Sinatra qui utilise DataMapping qui est
inconnu dans Jessie.
J'ai regardé dans les archives de la liste, mais rien.
Sur le canal IRC des développeur de Debian pour Ruby
il m'a été proposé ActiveRecord et DataObjects. Or, je
bloque sur l'utilisation des ces librairies.
ActiveRecord à l'air si intégré à Rails qu'il semble impossible
de s'en passer. Il faut en plus maîtriser Rake, ce qui n'est pas
encore mon cas.
DataObjects fournit un fichier README.markdown qui
fait référence à : http://dataobjects.info, mais le site
n'existe pas, plus. L'API semble correspondre à DataMapper,
mais quand je test du code recopié pour DataMapper, j'ai
des erreurs générées à l'exécution.
Quelqu'un peut-il me guider dans l'utilisation d'ORM pour
Ruby : didacticiels, exemples de codes sous Jessie, manuels,
références ? Ou sur l'utilisation des bases de données toujours
sous Jessie avec les paquets de la distribution ?
Merci par avance pour toute aide.
Bonne journée.
Randy11.

--
Envoyé depuis mon Jolla
Avatar
Randy11
Bonjour Grégory,
Merci pour l'idée du "pinning". Autant je n'hésite pas à aller chercher dans
les "backports", autant aller au-delà pour des applications en production
m'ennuie un peu.
Dans le cas qui m'occupe, c'est avant tout du "parsing" de fichier ASCII,
les fonctionnalités de la distribution suffisent. Mais il est vrai que
je n'ai
pas regardé ce qu'offre les nouvelles versions.
Mais des liens comme ceux ci-dessous préfèrent aussi ne pas s'appuyer sur
la version de l'OS qui n'est pas toujours à jour :
- http://rubylearning.com/satishtalim/ruby_installation.html
- https://www.ruby-lang.org/en/documentation/installation/#managers
Ces solutions me posent le problème de l'industrialisation de l'installation
pour les machines installées en PXE.
Cela reste tout de même un axe de recherche, surtout si une solution
exploitable existe pour éliminer la difficulté.
Sous Debian "ruby-sqlite3" fait l'affaire pour un accès classique avec
SQL.
J'avais envie d'essayer un "Object Relational Mapper" (ORM), car cela
semble les choses plus cohérente en restant sur une approche Ruby et
objet, et peut-être plus simple à mettre en œuvre, il semble aussi que
plusieurs fonctionnalités permettent une approche plus globales des
tables utilisées dans l'application. Ceci dit, je cherche à utiliser un ORM,
mon retour n'est que celui produit par mes lectures et non ma pratique.
Randy11.
On 22/01/2017 11:20, Grégory Reinbold wrote:
Bonjour Randy,
Par expérience je sais que la version de Ruby sous Jessie (2.1.x) se fait vieille et qu'à titre perso cela me bloque dans mes dev, particulièrement lorsque j'ai besoin d'une gem qui n'est pas supporté.
J'ai installé la 2.3.x via les dépôts de Stretch (pinning).
Je dis ca car je pense que tu te focalise trop sur la version de ton OS et des paquets proposés en lieu et place de la version de Ruby et des API nécessaires à ton besoin.
Autrement dit, faire évoluer son env pour répondre à ton besoin au lieu de te plier à ton env et te contraindre à une version.
Pour SQLite la gem sqlite3 ne fait pas l'affaire ?
Pour ORM je sèche :)
Cdt
À sam. janv. 21 17:21:41 2017 GMT+0100, Randy11 a écrit :
Bonjour,
Je souhaite accéder à une base de données en Ruby, la
contrainte est que je souhaite rester dans les paquets
de la distribution - "Jessie" pour l'instant.
Le développement d'application WEB n'est pas l'objectif
pour le moment.
Pourquoi seulement les paquets de la distribution ?
Parce que mes machines sont installées via PXE et que
cela limite les étapes de configuration et assure que
l'application écrite en Ruby fonctionnera nativement.
Cela réduit les problèmes de mises à jour, des droits
d'accès aux fichiers, etc.
En premier, je voudrais utiliser Sqlite3.
Il existe des API pour utiliser SQL directement. Il existe
aussi les "Object Relational Mapper" (ORM) qui associe
une classe (nous sommes en programmation objet) à
une ou plusieurs tables de la base de données.
J'ai découvert l'existence des ORM avec un livre sur le
framework WEB Sinatra qui utilise DataMapping qui est
inconnu dans Jessie.
J'ai regardé dans les archives de la liste, mais rien.
Sur le canal IRC des développeur de Debian pour Ruby
il m'a été proposé ActiveRecord et DataObjects. Or, je
bloque sur l'utilisation des ces librairies.
ActiveRecord à l'air si intégré à Rails qu'il semble impossible
de s'en passer. Il faut en plus maîtriser Rake, ce qui n'est pas
encore mon cas.
DataObjects fournit un fichier README.markdown qui
fait référence à : http://dataobjects.info, mais le site
n'existe pas, plus. L'API semble correspondre à DataMapper,
mais quand je test du code recopié pour DataMapper, j'ai
des erreurs générées à l'exécution.
Quelqu'un peut-il me guider dans l'utilisation d'ORM pour
Ruby : didacticiels, exemples de codes sous Jessie, manuels,
références ? Ou sur l'utilisation des bases de données toujours
sous Jessie avec les paquets de la distribution ?
Merci par avance pour toute aide.
Bonne journée.
Randy11.