Une série de flux de création de table → création, suppression d'enregistrement → suppression de table dans Ruby on Rails

introduction

C'est un ensemble complet d'entraînement musculaire qui sert également de rappel pour s'habituer aux opérations DB de Ruby on Rails.

Je pense que la procédure de suppression d'un tableau est un peu compliquée pour les débutants, y compris moi-même, donc j'espère qu'elle sera utile pour la pratique répétée.

Il est supposé que la base de données est déjà installée dans votre application Rails, donc si vous n'avez pas encore créé la base de données, veuillez préparer la base de données avec "rails db: create".

environnement

Ruby 2.7.2 Rails 6.0.3

Créer une nouvelle table

Commencez par passer du terminal au répertoire contenant l'application Rails.

console


>cd (adresse du dossier)

Créez un fichier de migration pour la création du modèle. (Exemple: nom du modèle "Utilisateur", nom du champ "nom", "adresse", "âge")

console


> rails g model User name:text address:text age:integer

À ce stade, un fichier de classe et un fichier de migration qui définissent le modèle "Utilisateur" sont créés, mais aucune table n'est générée.

La migration est requise pour générer la table.

console


> rails db:migrate

Cela créera une table «utilisateurs» basée sur le modèle «utilisateur».

__ * Le nom de la table est différent du nom du modèle en raison de la convention de dénomination des rails __. Référence: "J'ai essayé de résumer les règles de dénomination du modèle Rails DB" https://qiita.com/seri1234/items/8ca4b52d82390929195f

De l'ajout d'enregistrement à la suppression

Lancez la console Rails.

Console de rails


> rails console

Ajoutez un enregistrement à la nouvelle ligne.

Console de rails


irb(main):001:0> user = User.new
irb(main):002:0> user.name = "John Smith"
irb(main):003:0> user.save

Assurez-vous que l'enregistrement a été ajouté.

Console de rails


irb(main):004:0> users = User.all

Après confirmation, supprimez l'enregistrement créé. (L'argument de find () est l'index de l'enregistrement)

Console de rails


irb(main):005:0> User.find(1).destroy

Après avoir supprimé l'enregistrement, quittez la console Rails et revenez au terminal.

Console de rails


irb(main):006:0> exit

De la suppression d'un modèle à la suppression d'une table

Commencez par supprimer le fichier créé lors de la création du modèle.

console


> rails destroy model User

Cela supprime le modèle "Utilisateur".

__ Veuillez noter qu'il existe encore un tableau «utilisateurs» à ce stade. __

Ensuite, créez un fichier de migration pour supprimer la table. ("Drop_table_users" peut être n'importe quel nom)

console


> rails generate migration drop_table_users

Un fichier de migration appelé "~ drop_table_users.rb" avec des nombres au début sera créé sous "app name / db / migrate /".

Ouvrez ce fichier avec un éditeur de texte, ajoutez une commande pour supprimer la table dans "def change", et enregistrez-le par écrasement.

1**********9drop_table_users.rb


class DropTableUsers < ActiveRecord::Migration[6.0]
  def change
    #Ajoutez une ligne ci-dessous
    drop_table :users
  end
end

Effectuez la migration.

console


> rails db:migrate

La table est supprimée et ceci termine le flux.

Recommended Posts

Une série de flux de création de table → création, suppression d'enregistrement → suppression de table dans Ruby on Rails
(Ruby on Rails6) Création de données dans une table
Commande de création / suppression de modèle Ruby on Rails
Recommandation de classe de service dans Ruby on Rails
[Ruby on Rails] Un mémorandum de modèles de mise en page
Explication de Ruby sur rails pour les débutants ⑥ ~ Création de validation ~
Un enregistrement d'une simple pression sur le flux de données de GCP
Record d'apprentissage de Ruby on rails -2020.10.03
Création de portfolio Ruby on Rails
Record d'apprentissage Ruby on rails -2020.10.04
Record d'apprentissage de Ruby on rails -2020.10.05
Record d'apprentissage de Ruby on rails -2020.10.09
Record d'apprentissage Ruby on rails-2020.10.07 ②
Record d'apprentissage Ruby on rails-2020.10.07 ①
Record d'apprentissage de Ruby on rails -2020.10.06
Difficultés à créer un environnement Ruby on Rails (Windows 10) (SQLite3)
Une note sur la fonction de départ de Ruby on Rails
Comment afficher des graphiques dans Ruby on Rails (LazyHighChart)
Explication de Ruby on rails pour les débutants ③ ~ Création d'une base de données ~
Appliquer le CSS à une vue spécifique dans Ruby on Rails
Connaissance de base de Ruby on Rails
Ruby on Rails compatible japonais-anglais i18n
[Ruby on Rails] Création de la page de confirmation
(Ruby on Rails6) Créer une base de données et l'afficher dans une vue
Effacer N + 1 dans les actes_as_tree de l'arborescence Ruby on Rails Gem
[Ruby on Rails] Introduction des données initiales
[Rails] Ajout de la fonction de commentaire Ruby On Rails
Ruby on Rails dans les espaces de codes Visual Studio
[Ruby on Rails] À propos du rappel Active Record
[Ruby on Rails] Notation japonaise de l'erreur
Explication de Ruby sur rails pour les débutants ①
[Ruby on rails] Implémentation d'une fonction similaire
Débutant a créé un portfolio avec Ruby on Rails
[Ruby on Rails] Suppression logique (fonction de retrait)
Comment créer une requête à l'aide de variables dans GraphQL [Utilisation de Ruby on Rails]
Implémentation de la fonction de connexion Ruby on Rails (Session)
[Manuel de procédure pour débutant 2] Ruby on Rails: Création d'un modèle Rails
[Ruby on Rails] Jusqu'à l'introduction de RSpec
Rails nouveau dans Ruby on Rails ~ Mémorandum jusqu'au déploiement 2
Ruby on Rails ~ Principes de base de MVC et du routeur ~
Présentation de Rspec, un framework de test pour Ruby on Rails
Rails nouveau dans Ruby on Rails ~ Mémorandum jusqu'au déploiement 1
[Ruby on Rails] Implémentez un graphique circulaire qui spécifie le pourcentage de couleurs
Comment créer une combinaison unique de données dans la table intermédiaire des rails
[Ruby on Rails] Affichage individuel des messages d'erreur
J'ai fait un portfolio avec Ruby On Rails
[Ruby on Rails] Communication asynchrone de la fonction de publication, ajax
[Introduction] Créer une application Ruby on Rails
[Ruby on Rails] Comment écrire enum en japonais
Créer un environnement de développement Ruby on Rails sur AWS Cloud9
Implémentation de la fonction de connexion Ruby on Rails (édition de devise)