🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

MySQL

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

SQLite

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

Ruby on Rails

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Q&A

解決済

4回答

1260閲覧

テスト、開発、本番でのsqlite3使用を開発のみMysqlに変更できるでしょうか。

helo

総合スコア36

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

MySQL

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

SQLite

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

Ruby on Rails

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

0グッド

0クリップ

投稿2019/12/30 04:20

前提・実現したいこと

Railsチュートリアルをやっておりまして、herokuへのデプロイ後、localhost:3000に全く繋げられずチュートリアルが進められません。そこで、サーバーをdevelopment
だけでも変えてしまいたいのですが、詳しい方、おられましたらアドバイス頂けないでしょうか。よろしくお願いします。
また、やり方として間違っていましたら、ご指摘いただけますと有難いです。

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

$ rails s -p 9000 => Booting Puma => Rails 5.1.6 application starting in development => Run `rails server -h` for more startup options ERROR: worker mode not supported on JRuby or Windows Exiting

該当のソースコード

ソースコード

試したこと

herokuの接続を切ったりしたのですが、どうしても同じエラーが出るので
datebase.ymlの開発部分のdbをmysqlに変更するしか手が無いかと思っています。
$ heroku ps:scale web=0
Scaling dynos... done, now running web at 0:Free

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答4

0

また、やり方として間違っていましたら、ご指摘いただけますと有難いです。

Herokuでsqliteを使うと、再起動でデータが吹き飛んでしまうので、まったく実用的ではありません。本番環境はPostgreSQLあるいはMySQLでの運用が、(データベースを読み取り専用にするのでもなければ)必須です。

そして、環境によってデータベースエンジンが異なると、「ある環境で動いたコードが別の環境で動かない、あるいは性能が出ない」など、トラブルの原因となります。「開発のみMysqlに変更」のような中途半端な構築は、できるだけ避けるべきです。

投稿2019/12/30 07:22

maisumakun

総合スコア145963

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

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

helo

2019/12/30 08:56

maisumakun様 アドバイスありがとうございます。 ああ・・・、やはりsqliteはherokuでは良くないんですね。また、開発のみデータベース替えるのも半端なんですね・・。無理に替える気はないのですが全環境にsqliteが使われているのが原因ではと勝手に思ってしまっただけでした。
guest

0

自己解決

config/puma.rbをチュートリアルと同じデフォルトから文法に書き直し順も合わせ、workers・・・のところはコメントアウトし、再度herokuへpushしたらrails severが動き、:3000に繋がりました。良かったです。
皆さまのアドバイスがヒントになりました。いつも本当にありがとうございます!
感謝いたします。m(__)m

投稿2019/12/30 12:56

helo

総合スコア36

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

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

0

あ!
rails s -p 9000 になってます
3000ではなく 9000で動いてませんか?

追記
開発環境だけ MySQLというのがはて、、なんですが、質問のタイトル通り 開発環境だけ DBエンジンを変えるということでしたら、チュートリアルやってるんでしたら リスト 1.13 に、環境によってDBエンジンを変える設定がありますから、それを参考にしてはどうでしょう

投稿2019/12/30 07:18

編集2019/12/30 07:22
winterboum

総合スコア23567

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

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

helo

2019/12/30 08:49

winterboum様 コメントありがとうございます。 ポート9000としていしても同じエラーが出てしまうんですが・・・。
guest

0

ERROR: worker mode not supported on JRuby or Windows

こちらのIssueが該当するかもしれません。
https://github.com/MartinStyk/quotes-recommender/issues/4

puma.rb の workers Integer(ENV['WEB_CONCURRENCY'] || 2) をコメントアウトしてみてください。


追記

Only one usage of each socket address (protocol/network address/port) is normally permitted. - bind(2) for "0.0.0.0" port 3000 (Errno::EADDRINUSE)

3000ポートは別のプロセスが使用中みたいです。

netstat -aon | find 3000 を実行してプロセスIDを確認してください。

実行例

> netstat -aon | find 3000 TCP 0.0.0.0:3000 0.0.0.0:0 LISTENING プロセスID

一番右の列がプロセスIDです。
taskkil /pid プロセスID でプロセスを強制終了させてみて、もう一度試してみてください。

投稿2019/12/30 04:31

編集2019/12/30 05:32
take88

総合スコア1467

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

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

helo

2019/12/30 05:01

take88様 コメントありがとうございます。 私のpuma.rbは、defaultの  workers ENV.fetch("WEB_CONCURRENCY") { 2 }なのですが、やってみたのですが以下のエラーが出てしまいました。 このチュートリアルに書かれてる文法に直していないのが原因などあるのでしょうか? $ rails s => Booting Puma => Rails 5.1.6 application starting in development => Run `rails server -h` for more startup options *** SIGUSR2 not implemented, signal based restart unavailable! *** SIGUSR1 not implemented, signal based restart unavailable! *** SIGHUP not implemented, signal based logs reopening unavailable! Puma starting in single mode... * Version 3.9.1 (ruby 2.4.9-p362), codename: Private Caller * Min threads: 5, max threads: 5 * Environment: development * Listening on tcp://0.0.0.0:3000 * Listening on tcp://0.0.0.0:3000 Exiting C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/puma-3.9.1/lib/puma/binder.rb:269:in `initialize': Only one usage of each socket address (protocol/network address/port) is normally permitted. - bind(2) for "0.0.0.0" port 3000 (Errno::EADDRINUSE) from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/puma-3.9.1/lib/puma/binder.rb:269:in `new' from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/puma-3.9.1/lib/puma/binder.rb:269:in `add_tcp_listener' from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/puma-3.9.1/lib/puma/binder.rb:105:in `block in parse' from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/puma-3.9.1/lib/puma/binder.rb:88:in `each' from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/puma-3.9.1/lib/puma/binder.rb:88:in `parse' from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/puma-3.9.1/lib/puma/runner.rb:144:in `load_and_bind' from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/puma-3.9.1/lib/puma/single.rb:87:in `run' from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/puma-3.9.1/lib/puma/launcher.rb:174:in `run' from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/puma-3.9.1/lib/rack/handler/puma.rb:69:in `run' from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/rack-2.0.8/lib/rack/server.rb:297:in `start' from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/railties-5.1.6/lib/rails/commands/server/server_command.rb:44:in `start' from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/railties-5.1.6/lib/rails/commands/server/server_command.rb:135:in `block in perform' from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/railties-5.1.6/lib/rails/commands/server/server_command.rb:130:in `tap' from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/railties-5.1.6/lib/rails/commands/server/server_command.rb:130:in `perform' from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/thor-1.0.1/lib/thor/command.rb:27:in `run' from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/thor-1.0.1/lib/thor/invocation.rb:127:in `invoke_command' from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/thor-1.0.1/lib/thor.rb:392:in `dispatch' from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/railties-5.1.6/lib/rails/command/base.rb:63:in `perform' from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/railties-5.1.6/lib/rails/command.rb:44:in `invoke' from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/railties-5.1.6/lib/rails/commands.rb:16:in `<top (required)>' from bin/rails:4:in `require' from bin/rails:4:in `<main>'
take88

2019/12/30 05:32

追記したので確認してみてください。
helo

2019/12/30 06:36

take88様 ありがとうございます。 こちらの、netstat -aon | find 3000 は、コンソールでやってみたのですが、見つかりません。$ heroku の後に続けたら良いのでしょうか? あまり詳しくなくすいません。ご教示頂けましたら有難いです。
winterboum

2019/12/30 07:16

developmentを動かそうとしてる、localでやってください
helo

2019/12/30 08:48

winterboum様 いつもコメントありがとうございます。 developmentにてやっているのですが、netstat -aon | find 3000 こちらをコマンドしても、find: ‘3000 ’: No such file or directory と エラーが出てしまいます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問