这里我遇到了这个问题。
这里我们让这个主机有一个用RoR编写的完整系统,其中包含大量用户数据到Postgresql数据库中。
然后,在一个单独的本地主机中,我们有一个wordpress页面,它运行某些由buddypress插件驱动的应用程序(允许自定义字段),当然还使用MySQL数据库。
我需要的是:将用户数据从Postgresql数据库传输到MySQL数据库。我知道可以通过将数据插入数据库来在Wordpress中创建用户,但我需要查询从第一个数据库传输相同的用户数据。
我一直在思考用cronjob和php。 (当他们是两个不同的主机并且不得不使用mysql_connect和pg_connect时,只是不确定如何进行查询。)
我在postgresql中创建了一个视图,其中包含我需要迁移的数据。
我也被建议尝试" Navicat",但不确定它是否可以做我真正需要做的事。
要走的路是什么?感谢。
答案 0 :(得分:0)
如果您可以访问这两个数据库,则可以编写两个类,一个来自mysql
,另一个来自postgres
例如:
#config/database.yml
development: &DEV
adapter: postgresql
host: localhost
database: postgresql_db
username:
password:
wordpress: &WORDPRESS
adapter: mysql2
host: localhost
username:
password:
database: wordpress
wordpress_development:
<<: *DEV
你可能有一个wordpress的基类
class WordpressBase < ActiveRecord::Base
WordpressRecord.establish_connection({
adapter: "mysql2",
host: ENV['MYSQL_HOST'],
username: ENV['MYSQL_USER'],
password: ENV['MYSQL_PASS'],
database: ENV['MYSQL_DB']
})
self.abstract_class = true
end
现在您可以使用普通活动记录来迁移数据
前:
class A < ActiveRecord::Base
# connects to your postgres
end
class B < WordpressBase
# connects to your mysql
end