データベースから特定のカラムを削除する
これまでログイン機能を技術書を使って写経してきましたが、実際に自分で考えてコードを書かないと身にならないのと、今まで作ってきたログイン機能は余計な機能が多いので削除していきます。まずは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のファイルの削除を行なったが、ここでは割愛。