I want to add a new column in one of my table in Rails 5. I recently renamed a column by using the following way:
rails g migration ChangeJobsTable
then in 20160802104312_change_jobs_table.rb
:
class ChangeJobsTable < ActiveRecord::Migration[5.0]
def change
rename_column :jobs, :skills, :skills1
end
end
then
rails db:migrate
It worked fine, but now if I want to also add a new column skills2
, do I need to do it like this?
class ChangeJobsTable < ActiveRecord::Migration[5.0]
def change
add_column :jobs, :skills2
end
end
The Laravel migrations will use the Schema facade to create and modify database tables and columns: Schema::create('tasks', function (Blueprint $table) { $table->bigIncrements('id'); $table->timestamps(); }); Inside the facade, you could specify the different columns that you want to add.
To add multiple columns to a table, separate field:type pairs with spaces when using rails generate migration command.
You forgot to add datatype
, below is the updated migration.
class ChangeJobsTable < ActiveRecord::Migration[5.0]
def change
add_column :jobs, :skills2, :string
end
end
You indeed forgot the datatype
. You can also do it via the console in the future:
rails g migration AddSkills2ToJobs skills2:string
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With