8

Rails を使用して単純な MYSQL クエリを実行したい

Select movie-title, movie-director from moving order by rating desc limit 5;

モデルを作成するすべてのオーバーヘッドは必要ありません。クエリを実行したいだけです。

これを行う最善の方法は何ですか?
接続すらできない

これが私のコントローラーからのコードです

ActiveRecord::Base.establish_connection ({
:adapter => "mysql2",
:host => "some-rds.amazon.com",
:username => "root",
:password => "root",
:database => "blah"})

これにより、このエラー ActiveRecord::ConnectionNotEstablished が生成されます

ありがとう

4

4 に答える 4

1

でデータベース接続を構成します

/config/database.yml

コントローラーで、

def connect_and_fetch
    result_obj =  ActiveRecord::Base.connection.execute("select column from table")
    @rows = []
    index = 0
    result_obj.each do |row|
      @rows[index] = row
      index += 1
    end
end

htmlビューでは、

Result : <%= @rows%>
于 2018-10-20T06:31:34.063 に答える
0

まず最初に、8 つの gem があることを確認し、Mysql のサポートをインストールしてください。

Rails アプリケーションの構成

このセクションでは、Rails アプリケーション サーバーを変更して、セットアップしたばかりのデータベース サーバーと連携するようにします。

データベース サーバー ライブラリのインストール

最初に行うことは、必要なデータベース ライブラリをインストールすることです。私たちの場合、それは MySQL の開発パッケージです。

以下を実行して、MySQL 開発パッケージ mysql-devel をインストールします。

yum install -y mysql-devel

Rails 用に database.yml を構成する

Rails アプリケーションのデータベース設定は、/config ディレクトリの database.yml ファイル内に保持されます。

次のコマンドを実行して、nano テキスト エディターを使用して database.yml ファイルを編集します。

# Make sure to enter your application deployment directory
# Example:
# cd /var/www/my_app

nano config/database.yml

このファイルを開くと、環境名で区切られたデータベース設定が表示されます。アプリケーションは本番環境を使用して実行する必要があるため、その構成を編集しましょう。

production: YML コード ブロックを次のように置き換えます。IP アドレスなど、独自の設定構成に合わせて必要なビットを変更します。

# Example:
# production:
#   adapter: mysql
#   encoding: utf8
#   database: [database name]
#   username: [user name]
#   password: [password]
#   host: [server IP address]
#   port: [port number]
#   protocol: [protocol]
#   pool: [connection pool]

production:
  adapter: mysql
  encoding: utf8
  database: rails_myapp
  username: rails_myapp_user
  password: pwd
  host: 128.199.233.36
  port: 3306
  pool: 10

注: 上記の例で提供されているように、プロトコルを指定する必要がある場合があります。

注: プール引数には、使用可能な同時データベース接続スロット (プール) の最大数が含まれます。ニーズを評価し、それに応じて数を設定する必要があります。

CTRL+X を押して Y で確認し、保存して終了します。

mysql Gem の取得

以下を使用して、nano を使用して Gemfile の編集を開始します。

nano Gemfile

次の行をファイルに追加します。

gem 'mysql'

CTRL+X を押して Y で確認し、保存して終了します。

bundle を使用して新しい gem をインストールします。

bundle install

以上です!これ以降、Rails アプリケーション サーバーは、すべての操作に新しいデータベース サーバーを使用します。

詳細については、 https ://www.digitalocean.com/community/tutorials/scaling-ruby-on-rails-setting-up-a-dedicated-mysql-server-part-2 を参照して ください。

于 2015-03-16T07:12:29.893 に答える