RubyOnRails を postgresql データベースで動かす方法 [Linux]
RubyOnRails を postgresql データベースで動かす方法を探したのですが、なかなかなかったので、参考になればと思って投稿しました。
使用環境は、
ubuntu 14.10
postgresqlはネットから最新のものをダウンロードして、apacheとphpPgAdminもインストール
ruby 2.1.3p242
gem 2.2.2
Rails 4.1.8 でした。
これだと、Macでも同様の環境ですので、yosemiteでも同じだと思います。
それで、結構失敗しているのでまだ正確に整理していないのですが、一つの方法としてこうしました。
アプリケーション名は、myapp とすればデータベースのユーザはmyappとなるので、ブラウザからrole作成でやった方が面倒が無くて良いようです。パスワードも設定できますので便利でありrailsのディフォルトのデータベース名は、myapp_developmentなのでついでに作って置きます。
それには、一度ログアウトしてからmyappでログインして作りました。筆者は端末から操作しましたが、それはdrupalのインストールテキストを参考にしました。
ターミナルからのログイン方法はこうでした。postgresqlのインストール時点でユーザpostgresは登録済みなわけですから、$ sudo su - postgres でユーザを変更して
$ bin/psql でpostgresのパスワードを打てばログインできました。
railsのデータベースにアプリケーションユーザでログインする場合は、
$ bin/psql [データベース名] [ユーザ名(role名)] でいいようです。
余談ですが、postgresql は mysql と違って日本語を打つ方法が分からないので、一旦英語で作ってから phpPgAdminで日本語に直した方がよいようです。それでも、文字化けはしません。
これで $ rails new myapp --database=postgresql コマンドでアプリを作ってみると、
多分エラーが色々出ると思いますが、エラーメッセージに従って修正すれば何とかなりました。
取り敢えず完了したものとして、サーバーを起動します。$ rails server
ブラウザ localhost:3000 で確認すると、こんなエラーが出るはずです。
Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
この場合の対処方法はネットにありましたので、その通りやってみました。
ln -s /tmp/.s.PGSQL.5432 /var/run/postgresql/.s.PGSQL.5432
それでも、また次のようなエラーが表示された場合:
PG::ConnectionBad: fe_sendauth: no password supplied
これは、config/database.yml ファイルの設定のパスワード記入項目を認識できない事が原因でしたので、コメントの # を外して記入しました。で、もう一度 $ rake db:migrate を実行して表示させると、上手くいけばこれが見れるはずです。:
後は generate scaffold コマンドで追加していくだけになり、色んな参考書を活用できます。
sqlite3 mysql がスタンダードかと思いますが、独自の先行phpを使用するので便利なこともあるようです。参考まででした。
generic isotretinoin acne find real visa cod only http://buycialisuss.com - Buy Cialis Lasix Turkey <a href=http://buycialisuss.com>Buy Cialis</a> Cialis Gр с–рўвВВnstig Kaufen
by StevBrut (2020-03-04 14:35)