如何将'schema.rb'重置为git head?

时间:2012-05-13 01:04:46

标签: ruby-on-rails git postgresql git-reset

我想摆脱自上次提交以来所做的一切,包括我创建的表格,所以我做了

git reset --hard HEAD
git clean -f -d

所以这摆脱了我创建的迁移,但在模式中看起来表仍然存在。我知道我可以创建新的迁移来删除这些表,但我只是想知道我将来如何重置到最后一次提交,即使在数据库级别也是如此。

我需要删除数据库中的表的另一个原因是,当我尝试创建迁移(模型)以创建确切的表时,它会给我一个错误并说它们已经存在。因此,如果我将其推送到github和生产,它将不会创建表,因为迁移不存在。因此,我认为有必要通过某种方式(最好是回滚)在本地删除创建的表,然后重新创建迁移。

(我正在使用PostGreSQl)

1 个答案:

答案 0 :(得分:1)

所以我暂时解决了这个问题,但可能不是最理想的解决方法。我只是创建了迁移以删除表,运行rake db:migrate,然后删除了迁移。所以这就像从未发生过一样。