2015-08-25 56 views
3

我有一個pg_restore數據轉儲的原始輸出,需要圍繞數據集構建一個應用程序來分析裏面的內容。使用pg_restore數據轉儲創建新的Rails應用程序

到目前爲止,我創建了一個新的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 

回答

1

我開始的方式來做到這一點思考,然後我的「尋找寶石」提醒踢我會試試這個:

https://github.com/bosko/rmre

我看起來像它可以生成所有模型,主鍵,正確的命名慣例,甚至foreig的在Postgres和其他人的密鑰。

+0

是的。你正在尋找的術語是「反向工程」,意思是「反向工程化數據庫以創建模型」 –

+0

1,000,000次是的!這個小寶石在大約3秒內爲我創造了140個模型,併爲我節省了大約一週的工作時間。謝謝! – tim5046

相關問題