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

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

新規登録して質問してみよう
ただいま回答率
85.49%
Cloud9

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

Heroku

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

SQLite

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

PostgreSQL

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

Ruby on Rails

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

Q&A

解決済

1回答

4529閲覧

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

satokiyoshino

総合スコア11

Cloud9

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

Heroku

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

SQLite

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

PostgreSQL

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

Ruby on Rails

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

0グッド

0クリップ

投稿2018/04/14 15:15

開発環境: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にするにはどのようにすればいいのでしょうか。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

satokiyoshino

2018/04/15 05:05

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

2018/04/15 05:18

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

2018/04/15 05:53

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

2018/04/15 05:54

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

2018/04/15 06:33

rails のgemのpgって言うのは、rails(ruby言語)からpostgreSQLのデータベースに繋ぐためのライブラリです。先に入れていたgemのsplite3も同様でsqliteデータベースに繋ぐためのライブラリになります。 返信の中でapy-getと記載されていましたがapt-getの打ち間違いということはないですか?
euledge

2018/04/15 07: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を追加するという流れのようです。
satokiyoshino

2018/04/15 08:00

そうなのですね! わかりやすい説明ありがとうございます。 さらに疑問が生まれたのですが、データベースは、ユーザーネーム、パスワードが必要かと思うのですが、そう言ったものはないのんでしょうか。 sudo yum install postgresql postgresql-server postgresql-devel postgresql-contrib このコマンドはcomplete!までいきました!!ありがとうございます。 ですがまだ、最初のエラーが収まりません。 今回:postgreSQL自体をcloud9にインストールした?ということで正しいのでしょうか。
euledge

2018/04/15 08:22 編集

今の状態は、Cloud9にPostgreSQLのサーバープログラムをインストールしたのみですのでPostgreSQLのデータベースを作成したわけではないです。 データベースを作成するには postgreSQLのコマンドを実行して作成する必要があります。その時にユーザーやパスワードを決めることになりますね。(このコマンドについてはPostrgreSQL データベース作成などで検索してもらえればすぐ見つかると思います。) 先ほどからの回答、私もこんがらがっていますが yumはcentOS apt-getはubuntu です。なのでCloud9のOSはCentOSです。 bundle install の段階のエラーとデータベース作成していないのとは無関係と思います。 bundle install時のエラーメッセージは他にはなかったでしょうか?
euledge

2018/04/15 08: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 は実際の環境に合わせて指定してください
satokiyoshino

2018/04/15 09: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をインストールであっているでしょうか。 ここまではできるのですがここから先はどうも上手くいきません。 無知識で申し訳ございません。
satokiyoshino

2018/04/15 09:49

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

2018/04/15 09:55

gem install出来たので大分進みましたね。 cloud9上にpostgresqlがインストールできて、railsにpostgreSQLアクセスするためのライブラリがインストールできたという状態です。 ここまで出来たとなると、次はrailsでpostgreSQLのデータベースを使うにはどうするかという事になるかと思いますので質問を分けたほうが良いかもしれませんね。
satokiyoshino

2018/04/15 09:59

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問