我带着这个问题来了。
在这里,我们有一个用RoR编写的完整系统的主机,其中包含大量用户数据到Postgresql数据库中。
然后,在一个单独的本地主机中,我们有一个wordpress页面,该页面运行某些由buddypress插件(允许自定义字段)驱动的应用程序,当然还使用MySQL数据库。
我需要的是:将用户数据从Postgresql数据库转移到MySQL数据库。我知道在Wordpress中通过向数据库中插入数据来创建用户是可能的,但我需要查询从第一个数据库传输相同的用户数据。
我一直在想用php做cronjob。(只是不确定当它们是两个不同的主机并且必须使用mysql_connect和pg_connect时如何进行查询)。
我已经在postgresql中创建了一个视图,其中包含我需要迁移的数据。
我也被建议尝试"Navicat",但不确定它是否能做我真正需要做的事情。
下一步该怎么做?谢谢。
发布于 2015-10-15 05:12:40
如果可以访问这两个数据库,则可以编写两个类,一个派生自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
endhttps://stackoverflow.com/questions/33134844
复制相似问题