Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在Ruby on Rails上重做数据库而不丢失数据?_Ruby On Rails_Ruby_Database - Fatal编程技术网

Ruby on rails 如何在Ruby on Rails上重做数据库而不丢失数据?

Ruby on rails 如何在Ruby on Rails上重做数据库而不丢失数据?,ruby-on-rails,ruby,database,Ruby On Rails,Ruby,Database,很抱歉,这个问题在这个网站上不合适,但我真的认为我需要知道如何做到这一点,因为在生产环境中,如果我在删除模型时一直删除所有数据,这应该是一个严重的问题 详细地 如果重新创建相同的命名模型,我的意思是删除一个模型后,再创建相同的命名模型。 应该是 rails销毁模型名称 然后呢 rails g型号名称 通常在这种情况下会发生错误,我们基本上可以通过使用命令rails db:schema:load来修复错误,但是这个命令会破坏现有数据库的全部数据,但是我不想丢失数据,所以我想知道是否有其他好的方法来

很抱歉,这个问题在这个网站上不合适,但我真的认为我需要知道如何做到这一点,因为在生产环境中,如果我在删除模型时一直删除所有数据,这应该是一个严重的问题

详细地 如果重新创建相同的命名模型,我的意思是删除一个模型后,再创建相同的命名模型。 应该是
rails销毁模型名称
然后呢
rails g型号名称
通常在这种情况下会发生错误,我们基本上可以通过使用命令
rails db:schema:load
来修复错误,但是这个命令会破坏现有数据库的全部数据,但是我不想丢失数据,所以我想知道是否有其他好的方法来解决这个问题。
谢谢

通常情况下,这不会影响您的生产数据库,因为Ruby on Rails知道已经运行了哪些迁移,这就是为什么您应该使用
Rails db:migrate
来更新您的数据库


如果您的生产数据库中有要重用的旧条目,您还可以更改,这样受影响的表就不会被删除和重新创建,而是被更改。

您的问题非常不清楚。你能再详细一点吗。我更新了我的问题谢谢为什么你需要删除一个模型?因为有一次我认为一个模型是必要的,但之后我发现它是必要的。我实际上曾经尝试过
rake db:migrate
,但它没有起作用,因为它说已经存在一个关系。。。。这就是我重建数据库的原因,所以我想知道除了重建数据库之外,是否还有其他方法。