我创建了一个名为user-microposts的新分支。我开始在制作模型时弄乱一些东西。我尝试使用以下命令返回上一次提交:
git reset --hard cb166caa1c70004f77eed6229168b06ad249a4ba
回馈:
HEAD is now at cb166ca Eliminate an unnecessary assignment
所以我尝试重做Migrate,这给了我这个错误:
SQLite3::SQLException: table "microposts" already exists: CREATE TABLE "microposts"
....
我很惊讶,因为我想如果我回到之前的提交,就会发生什么事。
所以我回到master分支并删除了我做了任何更改的分支。
然后我创建了一个新分支,并尝试创建另一个模型并运行rake db:migrate。我又得到了同样的错误
SQLite3::SQLException: table "microposts" already exists: CREATE TABLE "microposts"
....
我最近尝试手动删除任何包含微博的文件。再没有这样的运气。
我不断收到同样的错误。我认为git branch和/或git reset的目的都会阻止这种情况,所以我很困惑。任何帮助将不胜感激
答案 0 :(得分:1)
您的数据库受源代码控制是不常见的。因此,如果您还原源,您可能会在数据库和源之间出现不一致。解决方案有几个选择:
对于上述两种情况,您将使用典型的“rake db”类型命令。