如何通过带有动态活动记录类的Ruby脚本获取WordPress数据库表?

如何通过带有动态活动记录类的Ruby脚本获取WordPress数据库表?,ruby,wordpress,Ruby,Wordpress,我目前有一个网站,是建立在WordPress,并有超过1000名客户注册。我能用ruby代码从WordPressdb中提取信息吗 我的客户需要无缝的方式吗?不需要再次注册 注: 这段代码应该动态创建活动记录类或模型,而不是手动定义活动记录模型如果没有Gem,您可以通过Ruby脚本本身实现这一点 我假设您有rails应用程序,您可以从那里创建rake任务来从WordPress数据库获取数据 第1步: value = {host: "192.*.*.*", username: '', passwor

我目前有一个网站,是建立在WordPress,并有超过1000名客户注册。我能用ruby代码从WordPressdb中提取信息吗

我的客户需要无缝的方式吗?不需要再次注册

注:
这段代码应该动态创建活动记录类或模型,而不是手动定义活动记录模型

如果没有Gem,您可以通过Ruby脚本本身实现这一点

我假设您有rails应用程序,您可以从那里创建rake任务来从WordPress数据库获取数据

第1步:

value = {host: "192.*.*.*", username: '', password: '', database: ''}

ActiveRecord::Base.establish_connection(
      adapter: 'mysql2',
      encoding: 'utf8',
      pool: 5,
      host: value[:host],
      username: value[:username],
      password: value[:password],
      database: value[:database]
  )
tables.each do |table|
    MODEL_CLASS= table
    Object.const_set(MODEL_CLASS, Class.new(ActiveRecord::Base) { def self.name() MODEL_CLASS end;def self.table_name() MODEL_CLASS end })
    records = MODEL_CLASS.constantize.all
    results = []
    records.each do |record|
      set = {}
      columns = MODEL_CLASS.constantize.column_names

       p columns

      columns.each do |column|
       p record.send(column.to_sym)
       p set[:mobile] = record.send(column.to_sym) 
      end

      results << set
      p record
    end

    p "Task done...."
    p results
  end
第二步:

tables = database_tables[key]
Key refers to the database name
然后定义需要获取的数据库表

database_tables = {:"database_name" =>  ["SaveContactForm7_1", "SaveContactForm7_2","SaveContactForm7_3","SaveContactForm7_4"]}
第三步:

tables = database_tables[key]
Key refers to the database name
第4步:

value = {host: "192.*.*.*", username: '', password: '', database: ''}

ActiveRecord::Base.establish_connection(
      adapter: 'mysql2',
      encoding: 'utf8',
      pool: 5,
      host: value[:host],
      username: value[:username],
      password: value[:password],
      database: value[:database]
  )
tables.each do |table|
    MODEL_CLASS= table
    Object.const_set(MODEL_CLASS, Class.new(ActiveRecord::Base) { def self.name() MODEL_CLASS end;def self.table_name() MODEL_CLASS end })
    records = MODEL_CLASS.constantize.all
    results = []
    records.each do |record|
      set = {}
      columns = MODEL_CLASS.constantize.column_names

       p columns

      columns.each do |column|
       p record.send(column.to_sym)
       p set[:mobile] = record.send(column.to_sym) 
      end

      results << set
      p record
    end

    p "Task done...."
    p results
  end
tables.each do| table|
模型\类别=表格
Object.const_set(MODEL_CLASS,CLASS.new(ActiveRecord::Base){def self.name()MODEL_CLASS end;def self.table_name()MODEL_CLASS end})
记录=MODEL_CLASS.constantize.all
结果=[]
记录。每个人都做记录|
集合={}
columns=模型\类.常量化.列\名称
p列
列。每个do |列|
p记录发送(列发送至sym)
p set[:mobile]=记录.发送(列.至_sym)
结束

结果谢谢你的及时回复,这对我很有帮助