[RUBY] [Rails] Résumé de la commande de migration

Environnement de développement

・ Rubis: 2.5.7 Rails: 5.2.4 ・ Vagrant: 2.2.7 -VirtualBox: 6.1 ・ Système d'exploitation: macOS Catalina

Comment écrire une commande de migration

$ rails g migration ChangeColumnToBooks Identique à l'écriture de $ rails generation migration change_column_to_books.

En d'autres termes, «génération» peut être abrégé en «g», Comme ʻAddBodyToBooks`, vous pouvez éviter d'avoir à écrire "_" en mettant en majuscule le début du mot.

Commande de base

1. Créer un modèle et une table

$ rails g nom de modèle de modèle nom de colonne: nom de type

Terminal


$ rails g model Book title:string

migrate/~_create_books.rb


class CreateBooks < ActiveRecord::Migration[5.2]
  def change
    create_table :books do |t|
      t.string :title

      t.timestamps
    end
  end
end

2. Supprimer le modèle et la table

nom du modèle de rails d

Terminal


$ rails d model Book

3. Exécutez la migration

Terminal


$ rails db:migrate

4. Renvoyez le contenu de la migration

** ① En revenant d'une étape **

Terminal


$ rails db:rollback

** ① Lors du retour à plusieurs étapes **

Terminal


$ rails db:rollback STEP=5 #Les nombres peuvent être modifiés librement

4. Vérifiez l'état de la migration

Terminal


rails db:migrate:status

Relation de table

1. Supprimer uniquement le tableau

$ rails g migration Nom de la table de dépôt

Terminal


$ rails g migration DropBooks

migrate/~_drop_books.rb


class DropBooks < ActiveRecord::Migration[5.2]
  def change
    drop_table :books #Postscript
  end
end

2. Changez le nom de la table

$ rails g migration Renommer le nom de la table avant de changer En nom de la table après la modification

Terminal


$ rails g migration RenameBooksToArticles

migrate/~_rename_books_to_articles.rb


class RenameBooksToArticles < ActiveRecord::Migration[5.2]
  def change
    rename_table :books, :articles #Postscript
  end
end

Relation de colonne

1. Ajouter une colonne

** ① Unité simple **

$ rails g migration Add Column name To Table name Nom de colonne: Type name

Terminal


$ rails g migration AddBodyToBooks body:text

migrate/~_add_body_to_books.rb


class AddBodyToBooks < ActiveRecord::Migration[5.2]
  def change
    add_column :books, :body, :text
  end
end

** ② Multiple **

$ rails g migration AddColumnsTo Nom de la table Nom de la colonne: Nom du type Nom de la colonne: Nom du type Nom de la colonne: Nom du type

Terminal


$ rails g migration AddColumnsToBooks body:text introduction:text price:integer

migrate/~_add_columns_to_books.rb


class AddColumnsToBooks < ActiveRecord::Migration[5.2]
  def change
    add_column :books, :body, :text
    add_column :books, :introduction, :text
    add_column :books, :price, :integer
  end
end

2. Supprimer la colonne

** ① Unité simple **

$ rails g migration Remove Column name From table name Nom de colonne: Type name

Terminal


$ rails g migration RemoveTitleFromBooks title:string

migrate/~_remove_title_from_books.rb


class RemoveTitleFromBooks < ActiveRecord::Migration[5.2]
  def change
    remove_column :books, :title, :string
  end
end

** ② Multiple **

$ rails g migration RemoveColumnsFrom nom de la table Nom de la colonne: nom du type Nom de la colonne: nom du type Nom de la colonne: nom du type

Terminal


$ rails g migration RemoveColumnsFromBooks body:text introduction:text price:integer

migrate/~_remove_columns_from_books.rb


class RemoveColumnsFromBooks < ActiveRecord::Migration[5.2]
  def change
    remove_column :books, :body, :text
    remove_column :books, :introduction, :text
    remove_column :books, :price, :integer
  end
end

3. Modifier le type de données de la colonne

$ rails g migration ChangeData Nom de la colonne À Nom de la table Nom de la colonne: Nom du type

Terminal


$ rails g migration ChangeDataTitleToBooks

migrate/~_change_data_title_to_books.rb


class ChangeDataTitleToBooks < ActiveRecord::Migration[5.2]
  def change
    change_column :books, :title, :text #Postscript
  end
end

4. Ajout d'options de colonne

$ rails g migration ChangeOption Nom de la colonne Vers Nom de la table Nom de la colonne: Nom du type

Terminal


$ rails g migration ChangeOptionTitleToBooks

migrate/~_change_option_title_to_books.rb


class ChangeOptionTitleToBook < ActiveRecord::Migration[5.2]
  def change
    change_column :books, :title, :string, null: false #Postscript
  end
end

5. Liste des types de données

Nom du modèle rôle
string Chaîne courte
text Longue chaîne
integer entier
float Minorité flottante
decimal Minorité très précise
datetime Date et l'heure
timestamp Horodatage
time temps
date Date
binary Chaîne binaire
boolean Valeur booléenne

6. Options fréquemment utilisées

Nom de l'option rôle
default Définir la valeur initiale
null La vérité du blanc
limit Limiter la longueur
unique Donnez des contraintes uniques
unique Donner un index

Recommended Posts

[Rails] Résumé de la commande de migration
Résumé de la commande [Rails] rails db
Migration des rails
Résumé de la commande Docker
Résumé du routage Rails 6.0
rails db: 〇〇 Résumé
[Rails] À propos des fichiers de migration
[Rails] Concevoir un résumé de routage associé
Diverses opérations de migration de rails
Comprendre la migration dans les rails
résumé personnel de la commande docker
rails nouvelle commande de lancement d'application
liste de commandes docker-compose (pour Rails)
[rails] Fichier de migration NOFILE supprimé
Annuler la migration de Ruby on Rails
Résumé de la validation Ruby on Rails
[Rails] Supprimer le fichier de migration
Commandes d'objets de base de données pour l'environnement de fichiers de migration
Variables Ruby on Rails, résumé constant
[Rails] Résumé de la configuration de routage compliquée
Vérifier l'état de migration des rails
Résumé
[Rails] Récapitulatif des incidents liés aux erreurs de déploiement AWS
Résumé des bases de données de base de connaissances sur la migration: restauration et ajout / suppression de colonnes
Tutoriel Rails 6e édition Résumé d'apprentissage Chapitre 10
Rails Tutorial 6e édition Résumé de l'apprentissage Chapitre 7
Fichier de migration pour ajouter un commentaire à la table Rails
Tutoriel Rails 6e édition Résumé de l'apprentissage Chapitre 4
Tutoriel Rails 6e édition Résumé de l'apprentissage Chapitre 9
Tutoriel Rails 6e édition Résumé de l'apprentissage Chapitre 6
Modèle [Ruby on Rails], commande de terminal de contrôleur
Commande de création / suppression de modèle Ruby on Rails
Tutoriel Rails 6e édition Résumé de l'apprentissage Chapitre 5
Rails Tutorial 6e édition Résumé de l'apprentissage Chapitre 2
Commande de création / suppression du contrôleur Ruby on Rails
Nouvelle commande de création de l'application Ruby on Rails
Migration des rails Changements de colonne et ainsi de suite.
Tutoriel Rails 6e édition Résumé de l'apprentissage Chapitre 3
[Rails] Résumé des méthodes de conversion / vérification / recherche
Rails Tutorial 6e édition Résumé d'apprentissage Chapitre 8