Yuki Matsumoto

To be engneer soon / Ruby on Rails

データベースから特定のカラムを削除する

2019-03-17 Yuki MatsumotoRuby on Rails

これまでログイン機能を技術書を使って写経してきましたが、実際に自分で考えてコードを書かないと身にならないのと、今まで作ってきたログイン機能は余計な機能が多いので削除していきます。まずはUserテーブルを削除していきます。

テーブルの削除

DBからテーブルを削除する場合はマイグレーションファイルを作成し、テーブルを削除する記述を行います。

まずはターミナルからマイグレーションファイルを作成する。

bundle exec rails g migration RemoveUsersTable

そして作成されたマイグレーションファイルから以下を記述する。

class RemoveUsersTable < ActiveRecord::Migration[5.2]
  def up
    drop_table :users
  end

  def down
    create_table :users do |t|
      t.string :name, null: false
      t.string :email, null: false
      t.string :password_digest, null: false

      t.timestamps
      t.index :email, unique: true
    end

  end

end

削除したいテーブル名を指定してdrop_tabelを指定することでテーブルの削除を実行できます。一応ロールバックすることを考えてdownメソッドにはcreate_tableを記載します。

最後にdb:migrateを実行

bundle exec rails db:migrate

これでDB上のusersテーブルの削除ができた。

この後、関連するview、model、controllerのファイルの削除を行なったが、ここでは割愛。