2017-04-10 7 views
-2

私はを持っています。かなり簡単です私はモデルを作成するのは気にしないSinatraアプリケーションです。私はモデルを使わずにPostgreSQLデータベースにデータを挿入する必要があります。可能であれば、ActiveRecordを使わずに、そして純粋なSQLだけでもデータを挿入する必要があります。私はそのような問題の例は見つけていない。どうすればいいですか?SinatraとPostgreSQL - おそらくActiveRecordなしの純粋なSqlの使い方

+1

リンク先のページ「[mcve]」と「[Stack Overflowユーザーにはどの程度の研究努力が必要か」(http://meta.stackoverflow.com/questions/261592)を含む[ask] "あなたの努力の証拠を見たいと思います。何を試しましたか?検索して何も見つけられませんでしたか?あなたはものを見つけましたが、それは助けになりませんでしたか?コードを書こうとしましたか?そうでない場合、なぜですか?もしそうなら、試したことを示す最小のコード例とは何ですか?それがなければ、あなたが試してみたことがないように見えます。 –

答えて

0

pgの宝石を直接使用することができます。

require 'pg' 
conn = PG::Connection.open(:dbname => 'test') 
res = conn.exec_params('SELECT $1 AS a, $2 AS b, $3 AS c', [1, 2, nil]) 
# Equivalent to: 
# res = conn.exec('SELECT 1 AS a, 2 AS b, NULL AS c') 

さらに接続オプションを指定するには、PG::Connection constructor documentationを確認してください。

+0

私はdatabase.ymlを持っています。私はそれを通常のymlファイルとして読んで、パラメータを 'PG :: Connection.open'に渡しますか?それとも簡単な方法がありますか? – Dorion

+0

@Dorionうん、yamlファイルを読まなければならないので、この答えを見てください。http://stackoverflow.com/questions/3877004/how-do-i-parse-a-yaml-file – NickGnd

+0

pgの宝石は片道ですが、最近は非常に低レベルです。 ActiveRecord、Sequel、DataMapperはすべてRuby ORMの宝石で、DBMとは独立した、簡単に移植可能な、より柔軟な方法でDBMと簡単に会話することができます。また、優れたSQLを生成し、経験の浅いSQLコーダーが知らない非効率なコードを避けることもしばしばです。私は個人的に続編を好む。作者はPostgresの経験が豊富で、常にそのDBMのために書いています。 –

関連する問題