我遇到了我的rails数据库问题。我最近恢复到以前的提交,并试图通过服务器和数据库启动并运行。Rails - 没有这样的表[rake db:migrate]
我已经运行rake db:migrate
和“耙分贝:创建”,这都返回相似的结果
不知道如何解决它?
rake aborted!
An error has occurred, this and all later migrations canceled:
SQLite3::SQLException: no such table: main.users: CREATE UNIQUE INDEX "index_users_on_email" ON "users" ("email")/Users/Marcus/.rvm/gems/[email protected]/gems/sqlite3-1.3.8/lib/sqlite3/database.rb:91:in `initialize'
包括跟踪
$ rake db:migrate --trace
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Invoke db:load_config (first_time)
** Invoke rails_env (first_time)
** Execute rails_env
** Execute db:load_config
** Execute db:migrate
== AddIndexToUsersEmail: migrating ===========================================
-- add_index(:users, :email, {:unique=>true})
rake aborted!
An error has occurred, this and all later migrations canceled:
让我知道如果我能/应提供的信息吗?
感谢
更多信息
$rake db:reset
-- create_table("attendees", {:force=>true})
-> 0.0120s
-- create_table("competitions", {:force=>true})
-> 0.0020s
-- create_table("devices", {:force=>true})
-> 0.0019s
-- create_table("users", {:force=>true})
-> 0.0045s
-- add_index("users", ["email"], {:name=>"index_users_on_email", :unique=>true})
-> 0.0011s
-- add_index("users", ["remember_token"], {:name=>"index_users_on_remember_token"})
-> 0.0010s
-- initialize_schema_migrations_table()
-> 0.0019s
-- assume_migrated_upto_version(20140210000927, ["/Users/Marcus/Sites/Rails/rails_projects/BattleOfTheBands/db/migrate"])
-> 0.0066s
You have 1 pending migrations:
20140211231110 AddDeviseToUsers
Run `rake db:migrate` to update your database then try again.
现在,当我运行 '耙分贝:迁移'
SQLite3::SQLException: duplicate column name: email: ALTER TABLE "users" ADD "email" varchar(255) DEFAULT '' NOT NULL/Users/Marcus/.rvm/gems/[email protected]/gems/sqlite3-1.3.8/lib/sqlite3/database.rb:91:in `initialize'
它看起来像你试图创建一个尚不存在的表上的索引。我会尝试做一个'rake db:reset',看看是否有帮助。如果没有,请检查您的迁移以确保在创建用户表之前尝试将索引置于其中。 – jklina
似乎没有迁移是有创建用户表 – Muntasim
添加更多的信息后“rake db:reset” – Marcus