나는 3 데이터베이스가 각각은 database.yml
복사
으로 정의됩니다. A
(mynewapp_psql
) 내 새 애플 리케이션을위한 데이터베이스로. 이 응용 프로그램에서 나는 두 개의 이전 데이터베이스에서 선택한 자료를 복사 할 수 있기를 원합니다. 그것은 내 기존 데이터베이스에서 각 제품을 새로운 데이터베이스에 새 상당을 만들어야합니다
old_db = ActiveRecord::Base.establish_connection(:database => 'old_blogposts_mysql'... etc)
posts = old_db.connection.execute("select * from posts'")
posts.each do |p|
NewPost.create(:name => p.name.downcase) #NewPost should add Post in A. (mynewapp_psql)
end
(응답에 따라 업데이트)
내 시도.
콘솔을 통해 작업하는 것이 좋으며 데이터를 필터링하고 변경해야하므로 데이터베이스를 그대로 복사 할 수 없습니다.
감사합니다. 그러나 이것은 다른 데이터베이스에 연결하지 않을 것입니까? 내 마지막 행인 "my_post = Post.new"는 canvas_test 데이터베이스 (생성하는 원래 mynewapp_psql 데이터베이스가 아닌)에 새 Post를 생성하는 것이 아닌가? – Christoffer
result = ActiveRecord :: Base.connection.execute ("SELECT * FROM posts;") - 이것이 내가 필요한 유일한 것 같아요. 그런 다음 결과 (예 : result.first)를 사용하여 데이터를 가져올 수 있습니다. 다시 한 번 감사드립니다! – Christoffer
여러 의견을 죄송합니다. 나는이 문제를 실제로 해결하지 못한다는 것을 깨달았다. 왜냐하면 내가 mysql 데이터베이스에 연결을 설정하면 더 이상 콘솔에서 내 데이터베이스에 액세스 할 수 없기 때문이다. – Christoffer