Search code examples
ruby-on-railsrubysqliterake-test

rake test errors from deleted table column


So i generated a scaffold for my ruby on rails project only to find out that i had added a column i no longer need.

i generated a migration and removed the extra column.

I then removed the column everywhere it was called in the code.

But when i run a "rake test" i'm getting several errors and they seem to be pointing at this non-existent column, I modified the controller_test.rb

  @foo = foos(:one)
  @update = {
  title:       'Lorem Ipsum',
  description: 'Wibbles are fun!',
  image_url:   'lorem.jpg',
  start_date:  '12/12/13',
  end_date:    '13/12/13'
  }

i also modified the should create test and should update test

 test "should create foo" do
 assert_difference('Foo.count') do
  post :create, foo: @update 
 end

and this

 test "should update foo" do
 put :update, id: @foo, foo: @update 
 assert_redirected_to foo_path(assigns(:foo))
 end

any help would be really appreciated, if more info is required i can supply more


Solution

  • I found the problem after some hours of persistence.

    whilst the column is removed from the table there were still reference's to it in the project, in my case it was here test/fixtures/foo.yaml

    to find out everywhere the specific line is (if your IDE does not have search functions) mentioned go to your git bash where your working from and run

     $ grep -r "search term" *
    

    it picks out the Dir that the search term lies in, after this its just a simple case of just removing all references for it

    note that this command give allot of lines what your looking for sits at the bottom.