Привет, я начал использовать приложение rails с помощью sqlite, однако, когда я попытался развернуть его на heroku, я узнал, что мне нужно использовать postgreSQL. Поэтому я столкнулся с проблемой изменения файла gemfile и database.yml и создания новой базы данных postgresql. Однако, когда я пытаюсь перенести свою базу данных я получаю ошибку:Преобразование из sqlite в postgresql
ActiveRecord::StatementInvalid: PG::UndefinedObject: ERROR: type "reference" does not exist
LINE 1: ALTER TABLE «вопросы» ADD «quiz_id» ссылка
, что, вероятно, потому что я использовал ссылку, чтобы сделать отношения в my db
В основном я ищу исправление для этой ситуации.
Вот мои Миграции (если это имеет значение):
class CreateQuestions < ActiveRecord::Migration
def change
create_table :questions do |t|
t.string :question
t.string :answer1
t.string :answer2
t.string :answer3
t.string :answer4
t.integer :correct_id
t.timestamps null: false
end
end
end
class CreateQuizzes < ActiveRecord::Migration
def change
create_table :quizzes do |t|
t.string :name
t.string :subject
t.timestamps null: false
end
end
конец
class AddQuizIdToQuestions < ActiveRecord::Migration
def change
add_column :questions, :quiz_id, :reference
end
end
Редактировать новый вопрос: Когда на моем Heroku сервере есть некоторые мертвые страницы, но не тогда, когда я работающих на моем локальном сервере. Вот мой адрес герою: https://krisquiz.herokuapp.com/
Мертвые страницы - это когда вы отправляете вопрос и когда пытаетесь начать викторину. Я посмотрел на URL-адреса, и они выглядели правильно. Единственное, что я могу придумать для двух страниц, это то, что я создал URL-адреса вручную для ссылок (например: request.base_url + '/ quiz /' + quiz.id.to_s + '/ start'). Поскольку я не уверен, что мне нужно, чтобы дать вам информацию, просто скажите мне, и я постараюсь быстро вернуться к вам.
Что перенастройки выглядеть? Мне кажется, что с вашей миграцией что-то не так, как будто вы пытаетесь изменить столбец таблицы, которая не существует. – hightempo
Ну, я не создал никаких новых миграций, так как я изменил (или по крайней мере пытался изменить базу данных) все миграции, отработанные обратно, когда я был на sqlite, поэтому я догадался, что проблема в postgresql. В любом случае, это мои миграции (я отредактирую их в свой вопрос) –