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

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

ただいまの
回答率

90.53%

  • CentOS

    3080questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • Ruby on Rails 5

    2984questions

  • PostgreSQL

    1313questions

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

  • Heroku

    1164questions

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

scaffold後にrake db:migrateでActiveRecord::NoDatabaseError:

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 1,267

seen

score 39

はじめてRuby on Rails5で作成したアプリをHerokuでアップロードしようとしています。

vagrantで作ったローカルサーバー(centos6.8)にpostgersql9.6をセットアップしてscaffold後にrake db:migrateしたところ以下のエラーが出てしまいました。

[vagrant@localhost mymemo]$ rake db:migrate
rake aborted!
ActiveRecord::NoDatabaseError: FATAL:  database "mymemo_development" does not exist


Caused by:
PG::ConnectionBad: FATAL:  database "mymemo_development" does not exist

Tasks: TOP => db:migrate
(See full trace by running task with --trace)


今回herokuへアップロードするために初めてpostgersqlをセットアップしました。
ドットインストールの手順にならって進めてきましたがこのようなエラーでつまづいております。

行った手順

新規にvagrantでcentos6.8を立ち上げる
Rails、postgersql、herokuをドットインストールの手順にならってインストールおよびセットアップ

[vagrant@localhost mymemo]$ rails -v
Rails 5.1.5
[vagrant@localhost mymemo]$ psql --version
psql (PostgreSQL) 9.6.8
[vagrant@localhost mymemo]$ sudo service postgresql-9.6 status
postgresql-9.6 (pid  1788) を実行中...
[vagrant@localhost mymemo]$ heroku --version
heroku-cli/6.15.31-958455a (linux-x64) node-v9.7.1
[vagrant@localhost mymemo]$


現状このような状態です。

$ rails new mymemo -d posgresql


とコマンドすると問題なく実行でき次に

cd mymemo

[vagrant@localhost mymemo]$ rails g scaffold Memo title:string body:text
Running via Spring preloader in process 19221
      invoke  active_record
      create    db/migrate/20180310093943_create_memos.rb
      create    app/models/memo.rb
      invoke    test_unit
      create      test/models/memo_test.rb
      create      test/fixtures/memos.yml
      invoke  resource_route
       route    resources :memos
      invoke  scaffold_controller
      create    app/controllers/memos_controller.rb
      invoke    erb
      create      app/views/memos
      create      app/views/memos/index.html.erb
      create      app/views/memos/edit.html.erb
      create      app/views/memos/show.html.erb
      create      app/views/memos/new.html.erb
      create      app/views/memos/_form.html.erb
      invoke    test_unit
      create      test/controllers/memos_controller_test.rb
      invoke    helper
      create      app/helpers/memos_helper.rb
      invoke      test_unit
      invoke    jbuilder
      create      app/views/memos/index.json.jbuilder
      create      app/views/memos/show.json.jbuilder
      create      app/views/memos/_memo.json.jbuilder
      invoke  test_unit
      create    test/system/memos_test.rb
      invoke  assets
      invoke    coffee
      create      app/assets/javascripts/memos.coffee
      invoke    scss
      create      app/assets/stylesheets/memos.scss
      invoke  scss
   identical    app/assets/stylesheets/scaffolds.scss


となり、OKだろうとmigrateしたら冒頭のエラーになりました。
データベースが無いようなエラー(?)なのでしょうか、scaffoldでcreate出来ていると思うのですが。。
一連の作業中で自信がないところがありまして、

  • リストpostgresqlのインストール時に「初期化」のやり方がよくわからず、一応やったがうまくいっているかわからない(その後、進めたので問題ないと思っている)

のと

  • リストrailsの「Gem therubyracer」のコメントアウトを外したのに
Could not find gem 'therubyracer' in any of the gem sources listed in your Gemfile.
Run `bundle install` to install missing gems.


となったので

 bundle install


して対応した。

以上がドットインストール通りにいかず自分で考えましたが自信がないところです。

すみませんがご教示いただけると助かります。 よろしくおねがいします。

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 2

checkベストアンサー

+1

DB を作成していないのでは?

% bin/rake db:drop
% bin/rake db:create

sqlite をつかっているときは、db:create しなくてもいいんですが、
Mysql や postgresql では db:creage DB をつくる必要があります。

参考情報

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2018/03/11 00:44

    ご教示いただきありがとうございます。
    [vagrant@localhost mymemo]$ bin/rake db:create
    Running via Spring preloader in process 8075
    Created database 'mymemo_development'
    Created database 'mymemo_test'
    このようになり、scaffold、rake db:migrateも実行できました。 
    development'とtest'環境にDBが作られたようで、、教材とはバージョンの違い等で完コピではなかったので、どこかで違いが出てしまったかもしれません。 
    素直に立ち返ってしらべてみます。 
    katoy様には以前も助けていただきました。 この度もご教示いただき本当に感謝です!
    ありがとうございました!
    [vagrant@localhost mymemo]$ rails g scaffold Memo title:string body:text
    Running via Spring preloader in process 8489
    invoke active_record
    identical db/migrate/20180310093943_create_memos.rb
    identical app/models/memo.rb
    invoke test_unit
    identical test/models/memo_test.rb
    identical test/fixtures/memos.yml
    invoke resource_route
    route resources :memos
    invoke scaffold_controller
    identical app/controllers/memos_controller.rb
    invoke erb
    exist app/views/memos
    identical app/views/memos/index.html.erb
    identical app/views/memos/edit.html.erb
    identical app/views/memos/show.html.erb
    identical app/views/memos/new.html.erb
    identical app/views/memos/_form.html.erb
    invoke test_unit
    identical test/controllers/memos_controller_test.rb
    invoke helper
    identical app/helpers/memos_helper.rb
    invoke test_unit
    invoke jbuilder
    identical app/views/memos/index.json.jbuilder
    identical app/views/memos/show.json.jbuilder
    identical app/views/memos/_memo.json.jbuilder
    invoke test_unit
    identical test/system/memos_test.rb
    invoke assets
    invoke coffee
    identical app/assets/javascripts/memos.coffee
    invoke scss
    identical app/assets/stylesheets/memos.scss
    invoke scss
    identical app/assets/stylesheets/scaffolds.scss
    [vagrant@localhost mymemo]$ rake db:migrate
    == 20180310093943 CreateMemos: migrating ======================================
    -- create_table(:memos)
    -> 0.0135s
    == 20180310093943 CreateMemos: migrated (0.0136s) =============================

    キャンセル

+1

お世話になります。

gem list

というコマンドでgemの一覧が確認できます。

それを見て抜けている、もしくは書き間違えているようでしたら再度記述すればいいのではと思います。

やりかわからなければここに貼り付けてください。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2018/03/10 22:37

    ご回答いただきありがとうございます。
    ご教示をいただいたコマンドを早速実行してみました。 gemの一覧がみられて大変便利ですね。

    見てみた限りでは参考にした教材で必要とされていたgemはすべてインストール出来ていると思うのですが、エラーの原因はgemのインストール漏れによるものなのでしょうか...
    お手数ですがgem listコマンドの実行結果を掲載しますので何かアドバイスをいただけると助かります。
    [vagrant@localhost mymemo]$ gem list

    *** LOCAL GEMS ***

    actioncable (5.1.5)
    actionmailer (5.1.5)
    actionpack (5.1.5)
    actionview (5.1.5)
    activejob (5.1.5)
    activemodel (5.1.5)
    activerecord (5.1.5)
    activesupport (5.1.5)
    addressable (2.5.2)
    arel (8.0.0)
    bigdecimal (1.2.8)
    bindex (0.5.0)
    builder (3.2.3)
    bundler (1.16.1)
    byebug (10.0.0)
    capybara (2.18.0)
    childprocess (0.8.0)
    coffee-rails (4.2.2)
    coffee-script (2.4.1)
    coffee-script-source (1.12.2)
    concurrent-ruby (1.0.5)
    crass (1.0.3)
    did_you_mean (1.0.0)
    erubi (1.7.1)
    execjs (2.7.0)
    ffi (1.9.23)
    globalid (0.4.1)
    i18n (0.9.5)
    io-console (0.4.5)
    jbuilder (2.7.0)
    json (1.8.3)
    libv8 (3.16.14.19 x86_64-linux)
    listen (3.1.5)
    loofah (2.2.0)
    mail (2.7.0)
    method_source (0.9.0)
    mini_mime (1.0.0)
    mini_portile2 (2.3.0)
    minitest (5.11.3, 5.8.3)
    multi_json (1.13.1)
    net-telnet (0.1.1)
    nio4r (2.2.0)
    nokogiri (1.8.2)
    pg (1.0.0)
    power_assert (0.2.6)
    psych (2.0.17)
    public_suffix (3.0.2)
    puma (3.11.3)
    rack (2.0.4)
    rack-test (0.8.3)
    rails (5.1.5)
    rails-dom-testing (2.0.3)
    rails-html-sanitizer (1.0.3)
    railties (5.1.5)
    rake (12.3.0, 10.4.2)
    rb-fsevent (0.10.3)
    rb-inotify (0.9.10)
    rdoc (4.2.1)
    ref (2.0.0)
    ruby_dep (1.5.0)
    rubyzip (1.2.1)
    sass (3.5.5)
    sass-listen (4.0.0)
    sass-rails (5.0.7)
    selenium-webdriver (3.10.0)
    spring (2.0.2)
    spring-watcher-listen (2.0.1)
    sprockets (3.7.1)
    sprockets-rails (3.2.1)
    test-unit (3.1.5)
    therubyracer (0.12.3)
    thor (0.20.0)
    thread_safe (0.3.6)
    tilt (2.0.8)
    turbolinks (5.1.0)
    turbolinks-source (5.1.0)
    tzinfo (1.2.5)
    uglifier (4.1.6)
    web-console (3.5.1)
    websocket-driver (0.6.5)
    websocket-extensions (0.1.3)
    xpath (3.0.0)

    以上です。よろしくおねがいします。

    キャンセル

  • 2018/03/11 01:14

    gem のいれなおしからやり直したい場合は、つぎのページを参考にしてみるとよいです。
    https://qiita.com/katoy/items/9bcba54b88c5fc7d9aa6
    gem をクリーンにする

    キャンセル

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

  • CentOS

    3080questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • Ruby on Rails 5

    2984questions

  • PostgreSQL

    1313questions

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

  • Heroku

    1164questions

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