Mysql
 sql >> база данни >  >> RDS >> Mysql

Направете еднократна заявка към различна база данни и таблица

Ако приемем, че е достъпен с помощта на същите идентификационни данни за база данни и на същия MySQL сървър, най-лесният начин би бил да изпълните заявка, указваща базата данни и таблицата в FROM клауза на заявката, като такава:

ActiveRecord::Base.connection.select_one(
    "SELECT * FROM blog_database.posts ORDER BY created_at DESC LIMIT 1")

select_one ще върне хеш от колони към стойности. За повече информация относно методите, които можете да използвате за connection обект, вижте тази документация .

Втората опция е да създадете подклас на ActiveRecord и да извикате establish_connection :

class Blog < ActiveRecord::Base
  establish_connection :blog

  def self.most_recent_post
    connection.select_one("SELECT * FROM posts ...")
  end
end

Вие също ще трябва да направите blog запис в базата данни във вашия database.yml файл. Вижте establish_connection за повече подробности, въпреки че за съжаление използването му по този начин наистина е известно само като се погледне изходния код за establish_connection .

След това можете да използвате връзката с базата данни на блога в заявки, както следва:

Blog.connection.select_one("SELECT * FROM posts ...")

Това, което е хубаво да го правите по този начин, е, че сега имате хубаво място да дефинирате метод (в класа Blog, като метод на клас) за извличане на данните, както направих по-горе.

И двете стратегии трябва да работят добре с Rails 2.x или 3.x.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. вмъкнете данни в MYSQL с помощта на PHP масив

  2. Връзката е отказана с MySQL на laravel и MAMP

  3. Laravel 5.1 консумира сапун wsdl услуга, използвайки контролер и модел

  4. Sum datediff в минути с MySQL

  5. Проблеми с MySQLdb връзката