我想知道是否有办法将数据库的单个列从一个rails应用程序移动到另一个应用程序。
原因是:我刚编写了一个全新的网站版本。它更清洁。在新版本中,我还删除了许多不必要的数据库列。基本上,我想要做的是将旧数据库(在heroku上)引入我的新应用程序,同时考虑不再存在的列。在这种情况下,我认为最好的方法是逐列。表和列具有相同的名称。
有什么建议吗?不确定最好的方法来解决这个问题,并且很难找到任何文档。
答案 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进行的操作(用于演示目的):
然后您获得.sql
个文件:
您可以在此处阅读(种类):MYSQL Migration
在PGSQL中也是如此 - 您正在下载SQL转储,然后将其上传到新服务器。
这当然会为您提供与之前完全相同的数据库;如果你想改变它,你要么必须浏览.sql
文件,要么在新环境中更改表格。