mysql - 运行 rake db :migrate VERSION=0 and redid the migration, 后,我丢失了数据库中的所有内容

标签 mysql ruby-on-rails ruby sqlite web

在尝试运行 rake db:migrate 之前,我遇到了一个名为列重复的错误,因此我改为运行 rake db:migrate VERSION=0 并再次运行 rake db:migrate。

基本上我正在清理我以前的迁移,并通过从 VERSION=0 运行新的迁移,我终于能够完成我的挂起迁移并且再次没有列复制问题。

但事情是这样的,我运行的命令实际上清除了我以前的所有数据。有没有办法找回我丢失的东西?如果出现列重复错误,运行 db:migrate 的最安全方法是什么。我真的不想回到VERSION=0

最佳答案

Is there a way to retrieve what I had lost?

您删除了数据库表并重新创建了它。存储在该表中的所有数据也被删除并丢失。恢复数据的唯一方法是从备份中恢复。你有最近的数据库备份吗?

And what is the safest way to run db:migrate if there's a column duplication error.

如果您的迁移有错误,请修复该迁移并重新运行它。在您的示例中:如果您的迁移失败并出现错误,告诉您存在重复列,只需删除尝试添加重复列的代码并重新运行迁移。

关于mysql - 运行 rake db :migrate VERSION=0 and redid the migration, 后,我丢失了数据库中的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30147278/

相关文章:

php - Symfony3 只将占位符值保存到数据库

ruby-on-rails - 为不同的用户配置文件设计具有多态关联的用户

mysql - 是否有 mysql 函数来解码 html 实体?

php - 使用 SET 减少列值

ruby-on-rails - Rails 4 中的strong_parameters gem 和自定义设计路线

ruby-on-rails - Rails 5.2 TinyMCE 使用 Amazon S3 上传图像

ruby - 如何在 Ruby 中获取桌面路径

ruby-on-rails - 运行 rails server 时 Windows 上没有 Javascript 运行时

ios - 在 iOS 中加载多个图像时,使用 send_data 加载的图像半损坏

mysql - SQL - 获取包含特定记录的数据库