PG :: UndefinedTable: ОШИБКА: отношение "пользователи" не существует - база данных Azure - PullRequest
1 голос
/ 02 апреля 2019

После развертывания веб-приложения в Azure (через виртуальную машину Linux) я успешно получаю доступ к домашней странице (первая страница), но получаю эту ошибку при попытке войти в систему (в верхнем правом углу навигационной панели):

Error

Я посмотрел этот вопрос и увидел, что другие люди имели его. Они решили это путем сброса и миграции, но это не работает. До сих пор я пробовал:

  1. Следующая команда выполняется правильно, но не решает проблему:

    RAILS_ENV=production rake db:drop db:create db:migrate

  2. Закомментировал файл user.rb, но он не решил проблему

Я думаю, что ошибка связана с самоцветом devise или самоцветом rails_admin, но я не могу найти решение.

Gemfile:

source 'https://rubygems.org'

ruby '2.6.0'

gem 'grape'

gem 'bootsnap', require: false

gem 'devise'

gem 'jbuilder', '~> 2.0'

gem 'pg', '~> 0.21'

gem 'puma'

gem 'rails', '5.2.2'

gem 'redis'

gem "mini_magick"

gem "chartkick"

gem 'country-select'

gem 'rails_admin', '~> 1.3'

gem 'activestorage-validator'

gem 'rubyzip', '>= 1.2.1'

gem 'axlsx', git: 'https://github.com/randym/axlsx.git', ref: 'c8ac844'

gem 'axlsx_rails'

gem 'autoprefixer-rails'

gem 'bootstrap-sass', '~> 3.3'

gem 'font-awesome-sass', '~> 5.5.0'

gem 'sassc-rails'

gem 'simple_form'

gem 'uglifier'

gem 'webpacker'

group :development do

gem 'web-console', '>= 3.3.0'

end

group :development, :test do

gem 'pry-byebug'

gem 'pry-rails'

gem 'listen', '~> 3.0.5'

gem 'spring'

gem 'spring-watcher-listen', '~> 2.0.0'

gem 'dotenv-rails'

end

Содержимое database.yml :

default: &default
    adapter: postgresql
    encoding: utf-8
    database: caoee
    username: mat
    password: ***
    pool: 5
    pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>

development:
    <<: *default
    adapter: postgresql
    encoding: utf-8
    database: caoee
    username: mat
    password: ***
    pool: 5

test:
    <<: *default
    adapter: postgresql
    encoding: utf-8
    database: caoee
    username: mat
    password: ***
    pool: 5

production:
    adapter: postgresql
    encoding: utf-8
    database: caoee
    username: mat
    password: ***
    pool: 5

Postgresql роли:

Список ролей

Role name | Attributes | Member of
-----------------------------------    
mat | Superuser, Create role, Create DB | {}

postgres | Superuser, Create role, Create DB, Replication, Bypass RLS|{}

1 Ответ

0 голосов
/ 02 апреля 2019

Вы запускаете эту команду RAILS_ENV=production ... Локально?Потому что это будет просто выполнить команду локально, с настройками производства.

Вам необходимо сбросить базу данных на сервере Azure.Я не знаком с интерфейсом командной строки Azure, но уверен, что есть команды для удаленного сброса БД.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...