Je dois créer un schéma de base de données avec des migrations Rails.Est-il possible d'utiliser un type de colonne personnalisé dans une migration Rails?
J'ai beaucoup de colonnes qui contiennent des quantités (kg) et des prix (devise).
Actuellement, j'utiliser ceci:
t.column :quantity, :decimal, :precision => 6, :scale => 3
t.column :value, :decimal, :precision => 6, :scale => 2
A l'appel du générateur que j'utilise quantity:decimal
pour identifier mes colonnes. Ensuite, je modifie manuellement les lignes t.decimal
générées à ce qui précède.
Je n'aime pas ça, car après chaque migration générée, je dois manuellement éditer le script de migration et je m'inquiète de DRY. (Si le prix doit contenir quatre au lieu de deux décimales?)
Est-il possible de créer un type de colonne personnalisée que je peux utiliser dans les migrations et peut-être même des générateurs, comme ceci:
t.quantity :quantity
t.price :value
PS: Je suis un Rails noob, je suis désolé si c'est une question stupide.
Que voulez-vous dire par «avoir à réparer manuellement le script de migration»? – hgmnz
Pour l'instant j'utilise simplement "quantité: décimal" dans l'appel du générateur. Ensuite, je dois éditer le script de migration généré et changer le "t.decimal: quantity" à l'exemple ci-dessus. (Utilisez le type de colonne générique, ajoutez les paramètres de précision) –