【发布时间】:2012-11-13 22:18:32
【问题描述】:
我对 Rails 很陌生,所以可能有一个简单的答案。我正在尝试将“user_category”列添加到我的“users”表中,该表引用“user_categories”表。我尝试了以下方法:
rails generate migration add_user_category_to_users user_category:integer
然后……
rails generate scaffold User_Category title:string description:text
但是在 rake db:migrate 我得到以下错误:
== CreateUserCategories: migrating ===========================================
-- create_table(:user_categories)
rake aborted!
An error has occurred, this and all later migrations canceled:
SQLite3::SQLException: table "user_categories" already exists: CREATE TABLE "user_categories" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255), "description" text, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL)
任何帮助将不胜感激。
【问题讨论】:
-
嗯,这不是你应该做的......我想你想要 2 个模型,1 个
Userhas_manyCategories和 1 个Categorybelongs_to 1User。我错了吗? -
您是否在某个时候已经为 user_categories 创建了迁移?仔细检查您的 db/migrate 目录,看看它是否已经存在。
-
不完全。 1 个用户有 1 个类别,但我不想将类别名称存储在数据库中。这类似于拥有一个“状态”表并多次引用 id 而不是完整的状态名称。
标签: ruby-on-rails database activerecord