gpt4 book ai didi

mysql - Sinatra 中带有远程 MySQL 的 ActiveRecord

转载 作者:太空宇宙 更新时间:2023-11-03 11:07:07 25 4
gpt4 key购买 nike

我在为我的特定问题寻找资源时遇到困难,或者至少我不理解我正在寻找的资源。

我需要我的 Sinatra 应用程序能够查询远程 MySQL 数据库并返回一些数据。我对数据库有只读访问权限,所以我需要做的就是检索它。我知道数据库有效,我的连接有效,我尝试使用的查询有效。这是一些示例代码:

db = ActiveRecord::Base.establish_connection(
adapter: 'mysql',
host: host,
database: database,
username: user,
password: pass)

然后我尝试用这样的方式查询连接

@courses = db.find_by_sql("SELECT *")

但是 db 对象没有 find_by_sql 方法,或者实际上没有任何看起来可以完成这项工作的方法。我是不是错过了一个步骤或某件事来到达我可以查询数据库的地方,还是其他什么?

最佳答案

我不知道establish_connection的返回值是什么。我怀疑这可能不是你想要的。运行 find_by_sql 的正常方法是:

ActiveRecord::Base.find_by_sql(...)

如果您已经有一个模型,您还可以:

MyModel.find_by_sql(...)

另一种方法是直接访问连接适配器对象并在其上调用execute:

ActiveRecord::Base.connection.execute(...)

关于mysql - Sinatra 中带有远程 MySQL 的 ActiveRecord,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11211629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com