1
我有一個Ruby on Rails項目,我想讓用戶執行SQL SELECT查詢。使用不同的數據庫執行單個查詢。 Ruby on Rails
爲了安全起見,我有兩個mysql數據庫。其中之一就是我的主數據庫和用戶信息等等。 第二個數據庫是爲了保持其中的用戶都應該能夠使用我授予「選擇」權限的特定數據庫用戶選擇的東西「測試」表。
基本上,我希望我的用戶提交的查詢,然後我想改變我的測試數據庫,運行查詢,返回結果,然後回到我的舊的數據庫。
的database.yml
mysql: &mysql
adapter: mysql
database: sql_detective
user: root
password: root
timeout: 5000
mysql_tests: &mysql_tests
adapter: mysql
database: sql_detective_tests
user: user
password: user
timeout: 5000
test:
<<: *mysql_tests
development:
<<: *mysql
Funcionario.rb
class Funcionario < ActiveRecord::Base
establish_connection :test
end
stages_controller.rb
@query = Funcionario.find_by_sql(params[:query])
當我嘗試執行查詢,我得到這個錯誤:
Mysql::Error in StagesController#sql_query
Access denied for user 'root'@'localhost' (using password: YES)