Ruby on Rails Saturday, March 26, 2016



On Sat, Mar 26, 2016 at 4:35 AM, Colin Law <clanlaw@gmail.com> wrote:
On 26 March 2016 at 09:25, Naveed Alam <lists@ruby-forum.com> wrote:
> Ramu Goud wrote in post #1182441:
>> Hi,
>> i have column name phone with integer datatype but when i enter phone
>> number it throws an error
>> "1325565488 is out of range for ActiveRecord::Type::Integer with limit
>> 4"
>
> goto your db folder and in the migration change the phone number field
> data type from integer to string. and thats all. but u will will to do
> rake db:migrate
> after that.

It is best to add a new migration to do this.

Colin

((this is what I tried to send))

Agreed. If you change an old migration, and run `rake db:migrate` *NOTHING* will happen, because that migration is already saved in the database table 'schema_migrations'. You either need to create a new migration, or you have to drop the data base and re-run all the migrations.

I once tried to circumvent this in a panic situation by deleting the schema migration record and re-running the migration, but it was such a crazy thing to try, I gave up.

My advice is to do just as Colin suggested, and use a *new* migration to change the table. 

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/CAHUC_t8cNyiPPnyp%2B6jceSFCS%2BOBgT1L%3Dw5fDKJSUe9E4XKDMA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment