[RUBY] Comprendre la migration dans les rails

Introduction Pendant que j'étudiais Ruby on Rails, je ne pouvais pas comprendre divers mots et concepts liés à la manipulation de données, je vais donc les organiser sous forme de mémorandum.

Questions sur la migration En étudiant Rails, j'ai eu les questions suivantes. Partie 1 Que sont les migrations, les modèles et les fichiers de migration en premier lieu? Partie 2 Quand migrez-vous? Partie 3 À quoi sert le fichier de migration?

Je penserai à chacun en organisant.

Partie 1 Que sont les migrations, les modèles et les fichiers de migration en premier lieu? Lors de la manipulation de données avec Rails, les termes «migration», «modèle» et «fichier de migration» apparaissent. Si vous continuez à étudier sans comprendre la signification des termes, vous rencontrerez toujours la question «Qu'est-ce que cela signifie? (Moi aussi, j'étais comme ça) J'ai donc décidé d'approfondir à nouveau ma compréhension du terme.

En un mot, ça ressemble à ça.

● Modèle Une classe qui manipule les données. Définir pour chaque table </ b> ● Migration Réécrire le document de conception de table </ b> ● Fichier de migration Une description de la façon de réécrire le document de conception </ b>

Regardons de plus près.

● Modèle Rails utilise un modèle de conception appelé MVC. L'image ressemble à une image. ![rails_モデル理解.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/176783/431b7bd3-67fb-8d51-741e-98cc58cab6ab.png)

Bien que chaque composant ait son propre rôle, le rôle du modèle est celui des données et de la logique métier. Particulièrement utilisé pour les opérations de base de données. Voici la logique de l'opération. Dans les rails, les modèles sont définis sous forme de classes. Des modèles sont créés pour chaque table et des opérations telles que la création et la suppression de tables sont effectuées via chaque modèle. (Image comme dans un ballon violet)

● Migration Le mot migration signifie «migration» en anglais. Et «migration» dans Rails signifie «changer le schéma de la table». Soit dit en passant, le schéma est «le document de conception qui détermine le contour de la table», donc plus grosso modo, la migration consiste à «changer le document de conception de la table» .

● Fichier de migration Rails utilise un "fichier de migration" lors de la migration. Dans le fichier, définissez comment modifier le schéma et effectuer des modifications en fonction de ce fichier.

Partie 2 Quand la migration est-elle effectuée? D'après la signification des termes organisés dans la partie 1, vous pouvez voir que le moment de la migration est "lors du changement du document de conception de la table". Plus précisément, créer une table ou ajouter une colonne. Gardez à l'esprit que l'ajout / l'édition / la suppression d'enregistrements ne signifie pas "réécrire le document de conception lui-même". Par conséquent, une telle opération n'est pas une migration.

Partie 3 À quoi sert le fichier de migration? Pour parler franchement, il est créé au "timing pour effectuer la migration = timing pour changer le document de conception de la table".

Saigo ni J'ai seulement expliqué le concept, mais il peut être difficile d'avoir une idée de ne pas le déplacer, y compris les opérations dans Rails. C'est un point délicat de savoir si je peux le comprendre moi-même ... J'aimerais continuer à étudier.

Recommended Posts