2014-01-07 27 views
0

我有删除并重新生成我的数据库模式文件。它会删除我的Heroku应用程序中的所有内容吗?如果是这样,我该如何回滚?清除本地schema.rb。它会影响我何时推向Heroku?

+0

刚刚删除了schema.rb还是删除了迁移文件? –

+0

Just schema.rb @ dmtri.com –

+0

您可能可以通过运行rake db:migrate local来重新填充schema.rb,但我会恢复到之前的Git提交。如果您自那时起写了大量的代码,只需将其复制到另一个文件,然后在硬重置后将其粘贴回来。 – evkline

回答

1

如果你运行heroku rake db:migrate,它会迁移你的迁移文件,而不是你的schema.rb。如果你删除了迁移文件,你应该对之前的Git commit进行硬重置(假设你正在使用Git)。这将恢复到之前的提交并清除所有更改。

git reset --hard "FIRST 7 DIGITS OF PREVIOUS GIT COMMIT GO HERE" 
+0

所以我很安全呢? –

+0

schema.db仅表示自上次迁移以来的数据库表示。我不确定自从删除schema.rb文件以来是否进行了任何迁移,可能不会,因为仍然没有schema.rb,我认为如果你这样做会重新出现。但是,恢复到以前的Git提交可能是最好的选择。我会在恢复后运行rake db:migrate,并检查schema.rb以确保它与最后一次迁移的内联无关。这可以通过在注释之后查看schema.rb的第一行的版本号来检查,确保它匹配上次的迁移 – evkline

相关问题