After installing devise MODEL User i got this.
class DeviseCreateUsers < ActiveRecord::Migration
def self.up
create_table(:users) do |t|
t.database_authenticatable :null => false
t.recoverable
t.rememberable
t.trackable
# t.encryptable
# t.confirmable
# t.lockable :lock_strategy => :failed_attempts, :unlock_strategy => :both
# t.token_authenticatable
t.timestamps
end
add_index :users, :email, :unique => true
add_index :users, :reset_password_token, :unique => true
# add_index :users, :confirmation_token, :unique => true
# add_index :users, :unlock_token, :unique => true
# add_index :users, :authentication_token, :unique => true
end
def self.down
drop_table :users
end
end
Now if i do rake db:migrate the users table will be created.
How can i revert this migration, i.e. how can I delete the users table using rake again ?
For rails 5 we can use
rails command instead of rake
example
It will undo and reapply the last migration.
For rails 4+ run:
where
<version>
is the version number of your migration file you want to revert.eg. if you want to revert a migration with file name 3846656238_create_users.rb
for rails 3 you need to run several times (it will go back one migration each time):
Run this command in your terminal:
or
It shows the status, migration ID's, migration name for all migration we ran previously. select your migration id (i.e your version number) and put that id in the following command after version= ,,, and press enter
As an new programmer (or to other new programmers)
rake db:rollback
works about half the time. I start there.If not,
rake db:migrate:down VERSION=3846656238
plug in VERSION for the version number of your migration file you want to revert.
Just run this command: