2017-01-07 3 views
0

Я получаю мое приложение готовым к производству, и я боюсь сгревать мою базу данных. Это дает мне эту ошибку:PG :: UndefinedTable ERROR ruby ​​on rails heroku

PG::UndefinedTable: ERROR: relation "events" does not exist 
: ALTER TABLE "events" ADD "code" character varying 

Вот мой database.yml файл:

# SQLite version 3.x 
# gem install sqlite3 
# 
# Ensure the SQLite 3 gem is defined in your Gemfile 
# gem 'sqlite3' 
# 
default: &default 
    adapter: postgresql 
    pool: 5 
    timeout: 5000 

development: 
    <<: *default 
    database: db/development.sqlite3 

production: 
    <<: *default 
    database: db/production.postgresql 

Вот мой события миграции файла:

class CreateEvents < ActiveRecord::Migration[5.0] 
    def change 
    create_table :events do |t| 
     t.string :name 
     t.string :partycode 
     t.references :user, foreign_key: true 

     t.timestamps 
    end 
    end 
end 

EDIT: , когда я бег rake db:migrate:status Я получаю следующий результат: enter image description here Наконец, вот мой gemfile:

source 'http://rubygems.org' 

    gem 'bootstrap-sass', '3.2.0.2' 

    gem 'bcrypt',   '3.1.11' 

    gem 'will_paginate' 

    gem 'responders' 

    gem 'rails', '~> 5.0.0', '>= 5.0.0.1' 

    gem 'puma', '~> 3.0' 

    gem 'sass-rails', '~> 5.0' 

    gem 'uglifier', '>= 1.3.0' 

    gem 'coffee-rails', '~> 4.2' 

    gem "heroku" 

    gem 'coffee-script-source', '1.8.0' 

    gem 'jquery-rails' 

    gem 'turbolinks', '~> 5' 

    gem 'jbuilder', '~> 2.5' 


    group :development, :test do 
     # Call 'byebug' anywhere in the code to stop execution and get a debugger console 
     gem 'sqlite3' 
     gem 'byebug', platform: :mri 
    end 

    group :production do 
     gem 'web-console' 
     gem 'pg' 
    end 

    gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] 
    ruby "2.2.4" 

Lemme знает, есть ли что-то еще, что вам нужно для решения этой проблемы, которая у меня есть. Спасибо: D

ответ

1

Видя ваше rake db:migrate:status у вас есть одна проблема, которая является миграция Add code to events должна быть после Create events миграции, поскольку вы делаете изменения в event но таблица для этого создается впоследствии. Таким образом, вы должны это исправить, и для временного исправления, что вы можете сделать, это:

rake db:migrate:up VERSION=20161219214142 

20161219214142 является версией вас Create Events миграции, так что это будет работать конкретные миграции для вас и создать events таблицы, то если вы будете запустите rake db:migrate, тогда он будет работать нормально.

+0

Итак, как я могу изменить порядок этих двух? – Aaron

+0

@Aaron Это может помочь вам http://stackoverflow.com/questions/10456761/rails-migration-change-sequence-or-order для изменения последовательности миграции. Тем временем вы можете попробовать временное исправление. – Deep

+0

работал как шарм, теперь я вижу свое производство – Aaron

Смежные вопросы