首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Rails中运行一次大规模迁移。错误删除迁移文件

在Rails中运行一次大规模迁移。错误删除迁移文件
EN

Stack Overflow用户
提问于 2013-08-21 02:28:10
回答 1查看 130关注 0票数 0

我创建了一个应用程序,并将其上传到服务器以测试Capistrano。

在我的本地机器上,我继续开发这个应用程序,并为我的项目创建了一个数据库,但我意外地删除了生产服务器尚未运行的一些早期迁移。

我认为解决办法是:

完全删除了我的产品数据库中的所有表.运行rake :schema:dump

然后创建一个迁移文件(删除rest)并将当前模式(从我的模式转储)粘贴到该迁移中。然后在生产服务器上运行这一迁移。

但我想知道这有什么坏处吗?如果有更好的方法..。

使用Ubuntu12Server、Rails 4、Ruby2.0.0

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-21 02:44:23

你不需要把你所有的桌子都扔进厕所里。相反,创建您描述的大迁移文件,然后手动记录它在prod中的应用。

毕竟,迁移的目的是将更改应用于DB。在您的情况下,它只需要在您的生产环境之外。

手动记录迁移就像将迁移时间戳插入schema_migrations表一样简单:

代码语言:javascript
复制
mysql> select * from schema_migrations;
+----------------+
| version        |
+----------------+
| 20120504193548 |
| 20120508160150 |
| 20120518135330 |
| 20120523163509 |
...

因此,只要执行适当的INSERT,rails就会忽略迁移。

PS -在将来,使用源代码管理,这样您就可以简单地从以前的版本恢复文件!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18347906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档