質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.53%

  • Ruby on Rails

    7233questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

  • PostgreSQL

    1058questions

    PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

  • Heroku

    864questions

    HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

  • SQLite

    618questions

    SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

  • Cloud9

    428questions

    Cloud9は、クラウドからのプログラミングが可能になるWebサービス。IDEとしての機能が搭載されており、GitHubやHerokuなど他ツールとの連携も可能です。ブラウザ上で動くため、デバイスに関係なく開発環境を準備できます。

cloud9上でrailsのデータベースをsqliteからpostgresqlにする方法はありますか?

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 372

開発環境:cloud9
使用言語:Ruby(Ruby On Rails)

cloud9上でrailsアプリを作成しているのですが、データベースの変更ができません。
目的は、herokuにcloud9上のアプリをデプロイすることです。
そのために、データベースをsqliteから他のもの(postgreSQL)に変更しなければならないということなので、変更を試みるも全て上手くいきません。

試した方法は以下になります。

gemファイルの

gem 'sqlite3'


を削除し

gem 'pg'


を追加したのち
$bundle install
を実行しても

Make sure that `gem install pg -v '1.0.0'` succeeds before bundling.


と出てしまいます。このエラーの通りに
$ gem install pg -v '1.0.0'
を実行してもまたエラーが出てしまいダメでした。

railsのデータベースをsqliteからpostgresqlにするにはどのようにすればいいのでしょうか。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+1

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/04/15 14:05

    cloud9上で
    brew コマンドは使えないようです。

    キャンセル

  • 2018/04/15 14:18

    そうですね、postgreSQLがインストールされてるのかと言う事を伝えたかったのですが言葉が足りませんでした。cloud9の場合は、 sudo apt-get install postgresql libpq-dev ですね。

    キャンセル

  • 2018/04/15 14:53

    試してたのですが
    apy-getも使えないようです。

    そもそもrailsとデータベースの関係というのはどういうものなのでしょうか。
    データベースは接続して使うもののイメージがあるのですが、railsですと、まるでアプリの中に用意されているようなのですが。
    rails ではアプリ内にデータベースがあるということでいいのでしょうか。
    そのデータベースを変更するというニュアンスで正しいのでしょうか。

    キャンセル

  • 2018/04/15 14:54

    丁寧な返信ありがとうございます。

    キャンセル

  • 2018/04/15 15:33

    rails のgemのpgって言うのは、rails(ruby言語)からpostgreSQLのデータベースに繋ぐためのライブラリです。先に入れていたgemのsplite3も同様でsqliteデータベースに繋ぐためのライブラリになります。

    返信の中でapy-getと記載されていましたがapt-getの打ち間違いということはないですか?

    キャンセル

  • 2018/04/15 16:03

    先に確認しておけばよかったのですが、Cloud9ってAWSのものでしょうか?
    AWSだとOSがubuntuのようなので yumコマンドになりますね。
    sudo yum install postgresql postgresql-server postgresql-devel postgresql-contrib

    下記記事も参照してみてください
    [AWS Cloud9 で Ruby on Rails を試してみた](https://qiita.com/katatemadesuga/items/1db2aad5205450c659c7)
    この記事によるとCodeStarで開発環境作って、そこにオプションとしてCloud9を追加するという流れのようです。

    キャンセル

  • 2018/04/15 17:00

    そうなのですね!
    わかりやすい説明ありがとうございます。
    さらに疑問が生まれたのですが、データベースは、ユーザーネーム、パスワードが必要かと思うのですが、そう言ったものはないのんでしょうか。

    sudo yum install postgresql postgresql-server postgresql-devel postgresql-contrib
    このコマンドはcomplete!までいきました!!ありがとうございます。
    ですがまだ、最初のエラーが収まりません。

    今回:postgreSQL自体をcloud9にインストールした?ということで正しいのでしょうか。

    キャンセル

  • 2018/04/15 17:18 編集

    今の状態は、Cloud9にPostgreSQLのサーバープログラムをインストールしたのみですのでPostgreSQLのデータベースを作成したわけではないです。
    データベースを作成するには postgreSQLのコマンドを実行して作成する必要があります。その時にユーザーやパスワードを決めることになりますね。(このコマンドについてはPostrgreSQL データベース作成などで検索してもらえればすぐ見つかると思います。)

    先ほどからの回答、私もこんがらがっていますが yumはcentOS apt-getはubuntu です。なのでCloud9のOSはCentOSです。
    bundle install の段階のエラーとデータベース作成していないのとは無関係と思います。

    bundle install時のエラーメッセージは他にはなかったでしょうか?

    キャンセル

  • 2018/04/15 17:32

    エラーの状況があっているかどうかわからないですが

    下記の事例もあったので、追加情報として載せておきます。
    gem install pgしてNo pg_configとなる対処法
    https://qiita.com/youcune/items/5b783f7fde45d0fd4b35

    gem install pg するときに pg_config というファイルが必要なのでこの場所を教えてあげる必要があるとのこと、上記サイトの説明によると gem install pg コマンドの引数に --with-pg-configオプションをつける必要があるとのことなので
    gem install pg --with-pg-config=/usr/pgsql-9.3/bin/pg_config
    とするとよいらしいです。
    /usr/pgsql-9.3/bin/pg_config
    は実際の環境に合わせて指定してください

    キャンセル

  • 2018/04/15 18:45

    現在
    1.cloud9を開く(open IDE)
    2.cd 自分のアプリ(コマンド)
    3.sudo yum install postgresql postgresql-server postgresql-devel postgresql-contrib(コマンド)
    =>Installed:
    postgresql92.x86_64 0:9.2.24-1.65.amzn1 postgresql92-contrib.x86_64 0:9.2.24-1.65.amzn1 postgresql92-devel.x86_64 0:9.2.24-1.65.amzn1
    postgresql92-server-compat.x86_64 0:9.2.24-1.65.amzn1

    Dependency Installed:
    postgresql92-libs.x86_64 0:9.2.24-1.65.amzn1 postgresql92-server.x86_64 0:9.2.24-1.65.amzn1 uuid.x86_64 0:1.6.2-27.22.amzn1

    Complete!
    4.gem install pg(コマンド)
    =>1 gem installed (多分成功?)
    ここまでで、アプリにpostgreSQLをインストール、さらにpostgreSQLを使うためのgemをインストールであっているでしょうか。

    ここまではできるのですがここから先はどうも上手くいきません。
    無知識で申し訳ございません。

    キャンセル

  • 2018/04/15 18:49

    具体的には、ユーザー名とパスワードの登録?方法と
    あと流れがいまだにわかりません。
    教えていただけますでしょうか。
    よろしくお願いいたします。

    キャンセル

  • 2018/04/15 18:55

    gem install出来たので大分進みましたね。
    cloud9上にpostgresqlがインストールできて、railsにpostgreSQLアクセスするためのライブラリがインストールできたという状態です。

    ここまで出来たとなると、次はrailsでpostgreSQLのデータベースを使うにはどうするかという事になるかと思いますので質問を分けたほうが良いかもしれませんね。

    キャンセル

  • 2018/04/15 18:59

    では、質問を分けます!
    また質問するので回答していただけますか。
    ベストアンサーです、ありがとうございます!!

    キャンセル

  • 2018/04/16 01:33

    https://qiita.com/taKassi/items/8e43171aeda300b67213
    このURLみて、もしわからないようだったら新たに質問をしてみてください。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.53%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Ruby on Rails

    7233questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

  • PostgreSQL

    1058questions

    PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

  • Heroku

    864questions

    HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

  • SQLite

    618questions

    SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

  • Cloud9

    428questions

    Cloud9は、クラウドからのプログラミングが可能になるWebサービス。IDEとしての機能が搭載されており、GitHubやHerokuなど他ツールとの連携も可能です。ブラウザ上で動くため、デバイスに関係なく開発環境を準備できます。