问题:使用 pg_restore 数据转储创建新的 Rails 应用程序

我有一个pg_restore数据转储的原始输出,需要围绕数据集构建一个应用程序来分析里面的内容。

到目前为止,我创建了一个新的 Rails 应用程序,设置了我的database.yml文件以与正确的 Postgres 数据库通信,然后运行pg_restore。数据库在 Postgres 中看起来没问题

我的问题是,我怎样才能开始使用 Rails 和 ActiveRecord 连接到这些表,以便开始了解里面的内容?我更愿意使用 AR 和 Rails 进行分析,而不仅仅是在 pg 控制台中

  1. 是否需要为使用pg_restore导入的每个表创建一个模型?

示例输出:(请注意,如果我在 Rails 控制台中搜索所有表名,则该表存在,但我无法实际连接到它)

Loading development environment (Rails 4.2.3)
2.1.4 :001 > ActiveRecord::Base.connection.tables.sort[1]
 => "actstream_follow" 
2.1.4 :002 > ActiveRecord::Base.connection.tables.sort.each do |table|
2.1.4 :003 >     next if table.match(/\Aschema_migrations\Z/)
2.1.4 :004?>   klass = table.singularize.camelize.constantize     
2.1.4 :005?>   puts "#{klass.name} has #{klass.count} records"
2.1.4 :006?>   end
PG::UndefinedTable: ERROR:  relation "actstream_actions" does not exist

解答

我开始想办法做到这一点,然后我的“寻找宝石”提醒开始了。我会试试这个:

https://github.com/bosko/rmre

我看起来它可以生成你所有的模型、主键、正确的命名约定,甚至是 Postgres 和其他中的外键。

Logo

PostgreSQL社区为您提供最前沿的新闻资讯和知识内容

更多推荐