###開発環境
ruby 2.3.0p0
Rails 4.2.6
sqlite3 3.8.10.2
sqale (使っているレンタルサーバー)
###質問の内容
sqaleのレンタルサーバーを使っているのですが、デプロイ後にページを見てみると以下のようなエラーが出てしまいます。
しかし、sqaleのサーバーにssh接続して、bundle exec rake db:migrateしてから、アプリケーションを再起動(/etc/init.d/app restart)すると以前のデータは消えているのですが、エラーは解消されます。(その後にまたデプロイすると同じエラーになる。)
デプロイしてもちゃんとページが表示されて、以前のデータもデータベースに残るようにするにはどうすればよろしいでしょうか?
###log/production.logでの問題となっていそうなログ
lenux
1Error in 43ms (ActiveRecord: 1.0ms) 2F, [2016-03-27T08:39:28.039817 #28807] FATAL -- : 3ActionView::Template::Error (SQLite3::SQLException: no such table: galleries: SELECT "galleries".* FROM "galleries" ORDER BY "galleries"."created_at" DESC): 4 2: All Gallery<span class="message"><%= notice %><%= alert %></span> 5 3: </div> 6 4: <div id="fullpage"> 7 5: <% @galleries.each do |gallery| %> 8 6: <div class="section" id="slide-top"> 9 7: <div class="slide"> 10 8: <div class="img-wrap"> 11 app/views/home/top.html.erb:5:in `_app_views_home_top_html_erb___1220054426875533217_70207975087460'
###私が考えている問題点
私自身が考えている問題点は以下の二つです。
・再起動時に以前のデータがなくなるという問題
→データがproduction環境ではちゃんと保存されていない。(development環境では保存されていました。)
・デプロイするたびにssh接続からのbundle exec rake db:migrateとアプリケーション再起動をしなければ、ページが表示されないという問題
→sqlite3の設定ができていない?
config/detabase.yml
1##config/detabase.yml 2 3 4default: &default 5 adapter: sqlite3 6 pool: 5 7 timeout: 5000 8 9development: 10 <<: *default 11 database: db/development.sqlite3 12test: 13 <<: *default 14 database: db/test.sqlite3 15 16production: 17 adapter: sqlite3 18 encoding: utf8 19 username: sqale_xxxxxxxxxx 20 password: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 21 database: sqale_xxxxxxxxxx 22 host: mysql001.sqale.jp
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。