To add a column using the “rails g migration” command, you first need to open a terminal window and navigate to the root directory of your Rails project. From there, you can run the following command:
rails g migration add_column_name_to_table_name column_name:data_type
Replace “column_name” with the name of the column you want to add, “data_type” with the type of data that the column will hold (e.g., string, integer, boolean), and “table_name” with the name of the table in the database to which you want to add the column.
Example Command
For example, if you wanted to add a column called “email” to a table called “users” that holds string data, you would run the following command:
rails g migration add_email_to_users email:string
Inside the Generated Migration File
This will generate a migration file with the following code:
class AddEmailToUsers < ActiveRecord::Migration[6.0]
def change
add_column :users, :email, :string
end
end
The “add_column” method is provided by the Rails migration library and is used to add a new column to a table. The first argument is the name of the table, the second argument is the name of the column, and the third argument is the data type of the column.
Running the Migration
Once you have generated the migration file, you need to run it using the “rails db:migrate” command. This will execute the code in the migration file and add the new column to the database.
rails db:migrate
Importance of Rails Migrations
Rails migrations are important because they allow you to easily track and revert changes to the database over time. When you run a migration, Rails updates a special table in the database called the “schema_migrations” table to keep track of which migrations have been run. This ensures that you can roll back changes to the database if necessary.
Beekeeper Studio Is A Free & Open Source Database GUI
Best SQL query & editor tool I have ever used. It provides everything I need to manage my database. - ⭐⭐⭐⭐⭐ Mit
Beekeeper Studio is fast, intuitive, and easy to use. Beekeeper supports loads of databases, and works great on Windows, Mac and Linux.