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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQLite

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

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

2365閲覧

RailsのproductionでDBをsqlite→mysqlに変更できない

yusuke_ppq

総合スコア6

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQLite

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

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2017/05/13 06:38

編集2017/05/14 13:41

###前提・実現したいこと
RubyOnRailsのアプリをAWSで公開しています。
DBはRDSではなく、EC2インスタンス内の/var/www/rails/tkjにあります。(tkjはrailsアプリがあるディレクトリ)
アプリを公開後、dbをsqliteからmysqlに変更したいと思い、config/database.ymlを編集しmysqlのgemも問題なくインストールできました。sqliteのdbのバックアップはcsvでとりました。
developmentでは問題なくmysqlに切り替えることができたのですが、productionで変更ができていません。

###発生している問題・エラーメッセージ

下記の「試したこと」のコードをec2インスタンスにsshログインして実行しました。
しかし、ブラウザからサイトにアクセスするとrailsアプリの状態は変わらず、以前のDBをそのまま使っている状態です。
パソコンのsequel proから新しく作ったDBに接続はできているので、新しいDBは確かに作られているのですが、railsアプリは新しいものを使おうとしません。

###該当のソースコード

config/database.yml(変更後)

default: &default adapter: mysql2 pool: 5 timeout: 5000 development: <<: *default encoding: utf8 database: db/development.db username: root password: host: localhost test: <<: *default database: db/test.db production: <<: *default database: db/production.db encoding: utf8 username: root password: host: localhost

変更前

default: &default adapter: sqlite3 pool: 5 timeout: 5000 development: <<: *default database: db/development.sqlite3 test: <<: *default database: db/test.sqlite3 production: <<: *default database: tkj_production username: root password:

###試したこと

rake db:create RAILS_ENV=production rake db:setup RAILS_ENV=production rake db:migrate RAILS_ENV=production

上記全て実行後、nginxとunicornは再起動させました。

###補足情報(言語/FW/ツール等のバージョンなど)
ruby 2.2.1
rails 4.2.0
mysql2 0.3.18
unicorn 5.3.0
nginx 1.10.2

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

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

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

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

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

guest

回答1

0

自己解決

AWSのEC2インスタンスを停止し、新しいインスタンスでやり直したら解決しました。

投稿2017/05/15 18:15

yusuke_ppq

総合スコア6

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問