Rails 4 - 将DB列从一个应用程序移动到另一个应用程序

时间:2015-12-25 20:20:53

标签: ruby-on-rails database postgresql ruby-on-rails-4 heroku

我想知道是否有办法将数据库的单个列从一个rails应用程序移动到另一个应用程序。

原因是:我刚编写了一个全新的网站版本。它更清洁。在新版本中,我还删除了许多不必要的数据库列。基本上,我想要做的是将旧数据库(在heroku上)引入我的新应用程序,同时考虑不再存在的列。在这种情况下,我认为最好的方法是逐列。表和列具有相同的名称。

有什么建议吗?不确定最好的方法来解决这个问题,并且很难找到任何文档。

1 个答案:

答案 0 :(得分:1)

您通常通过导出 dumping )SQL数据然后转移到另一个数据库来迁移SQL数据库。

使用Heroku的PGSQL,你应该使用pg_dump& pg_restore;

heroku pg:backups capture #-> do this on your "old" app -- captures your database
heroku pg:backups restore 'https://s3.amazonaws.com/path/to/public/db.dump' DATABASE_URL #-> do this on your "new" app

看起来有一个插件(heroku-pg-transfer):

 heroku plugins:install https://github.com/ddollar/heroku-pg-transfer

 $ env DATABASE_URL=postgres://localhost/myapp-development heroku pg:transfer

<强>概述

我通过从一个数据库下载.sql文件,然后使用它来填充另一个数据库,无数次(在MYSQL中)完成了这项工作。 .sql文件只是每个表的查询列表,用数据库中的数据填充。

以下是使用PHPMyAdmin进行的操作(用于演示目的):

enter image description here

然后您获得.sql个文件:

enter image description here

您可以在此处阅读(种类):MYSQL Migration

在PGSQL中也是如此 - 您正在下载SQL转储,然后将其上传到新服务器。

这当然会为您提供与之前完全相同的数据库;如果你想改变它,你要么必须浏览.sql文件,要么在新环境中更改表格。