I did not have a second migration trying to add it again, so I ran:
rake db:drop db:create db:migrate
I was able to do everything after that.
Thank you for the assistance!
On Wednesday, November 16, 2016 at 2:32:44 AM UTC-6, Colin Law wrote:
On 16 November 2016 at 01:46, eye0rama <welcome.to...@gmail.com > wrote:Hi all,
I have been learning Rails by working through Carneiro and Barazi's *Beginning Rails 3*. This has went well despite the fact that I am using Rails 4.2.6. I hit a little snag when in chapter 5, which goes over associations, I tried to create a has_many association between a user and that user's articles, specifically in the code that is supposed to sort the user's articles first by order of creation, and then by alphabetical order. I fixed this problem, with a little help from the Ruby Talk mailing list, with a lambda scope block, as follows in app/models/user.rb:
class User < ActiveRecord::Base
has_one :profile
has_many :articles, -> { order 'published_at DESC, title ASC' } :dependent => :nullify
end
This seemed to work, so I went through the steps listed again, taking a stab that I could overwrite everything rather than just starting over. When I ran rake db:migrate, I got the following error:
== 20161114230702 CreateArticlesCategories: migrating =========================
-- create_table(:articles_categories, {:id=>false})
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
SQLite3::SQLException: table "articles_categories" already exists: CREATE TABLE"articles_categories" ("article_id" integer, "category_id" integer)
/home/john/src/ror/blog/db/migrate/20161114230702_create_ articles_categories.rb:3:in `change' You are trying to run a migration (20161114230702_create_Colinarticles_categories.rb) that adds that table, but the table already exists in the database. Have you added a second migration that tries to add it again? If it is not that then the easiest solution may be to delete and recreate the db again.
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/f71a7011-4391-4f09-82be-4f37e7de459e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
No comments:
Post a Comment