ruby-pg を触ってみる
Sinatraアプリでのデータ保存先をデータベースに変えるため、ruby-pgを触ってみる。 簡単なRubyスクリプトを書いて「書き込み」「読み取り」「編集」「削除」の一連の操作ができるようにする。
https://github.com/ged/ruby-pg github.com
まずはTableの作成。
- Ruby側
require 'pg' connection = PG.connect( dbname: 'postgres' ) connection.exec('CREATE TABLE sinatra_table (id INTEGER PRIMARY KEY, title TEXT NOT NULL, body TEXT)')
-> % ruby test.rb -> % psql -U aksk postgres psql (13.1) Type "help" for help. postgres=# \d List of relations Schema | Name | Type | Owner --------+---------------+-------+------- public | sinatra_table | table | aksk (1 row) postgres=#
Tableできた。が、これってpostgres
っていうデータベースが存在することが予め分かっているのでコネクションを張れているが、自作のSinatraのWebアプリケーションをcloneしてもらって他の人のパソコン上で動かすときはデータベース名どうやって決めればいいのだろうか?
PG::Connection.new(host, port, options, tty, dbname, user, password)
これで任意のホストへ接続できるので、自分が契約しているVPNへコネクション張れば誰のパソコン上でも予めわかっているデータベース名で接続できるけど、そういうことじゃないよな〜…。