I produced one by having an attribute "title" but I wish to change it out to "username". Everything I have find out about database migrations involves developing a class or some complicated stuff. All I wish to do is the same as "UPDATE TABLE" in SQL. How can you operate a one-time database migration to alter this? I am speculating it'd involve rails console and more command?


rails g migration rename_name_column_to_username

Then within the produced relabel_title_column_to_username.rb migration file:

class RenameNameColumnToUsername < ActiveRecord::Migration
  def self.up
    rename_column :users, :name, :username

  def self.down
    rename_column :users, :username, :name

After which rake db:migrate

Should you haven't committed the code that initially produced the "title" column, you can easily use towards the old migration file that produced that column and alter name to username after which regenerate the schema.

But when you've committed the code, you need to produce a separate migration file that renames name to username.

This will be significant to keep an eye on the versioning of the database. So you shouldn't really use manual SQL (ALTER TABLE ...) to alter the schema.

Run rails g migration RenameNameToUsername, developing a brand new file in db/migrate.

Open that file, and add this in to the self.up section:

rename_column :tablename, :name, :username

Then run rake db:migrate