ruby-on-rails - Rails 4 - 将数据库列从一个应用程序移动到另一个应用程序

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

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

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

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

最佳答案

您通常通过导出(转储)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

概览

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

以下是使用 PHPMyAdmin 执行此操作的方法(用于演示目的):

enter image description here

然后你会得到一个.sql文件:

enter image description here

您可以在这里(某种程度上)阅读有关它的信息:MYSQL Migration

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

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

关于ruby-on-rails - Rails 4 - 将数据库列从一个应用程序移动到另一个应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34466118/

相关文章:

mysql - 检查多个表上的重复数据

postgresql - 如何在postgreSQL中动态更新序列

ruby-on-rails - 从数据库表生成每日平均值数组 (Rails)

php - 我有 Group_ConCat 函数的选择查询?

sql - 我如何优化此 SQL 查询以摆脱文件排序和临时表?

oracle - 如何在一个选择查询中使用 Oracle 和 PostgreSQL 查询

node.js - postgreSQL 表约束、sequelize 选项和 sequelize 验证之间的区别?

ruby-on-rails - 是什么导致弃用警告:ActiveRecord::Base.raise_in_transactional_callbacks=?

ruby-on-rails - 在 Rails 中,处理您不想提交到 repo 和 Assets 管道的超大文件(例如视频)的最佳方法是什么?

ruby-on-rails - 根据属性值从 Ruby 中的数组中删除/删除对象