Rails 5.0.4, Ruby 2.5.1, Postgres, Ubuntu 18.04
Я прочитал несколько сообщений здесь в stackoverflow, похожих на мою проблему, но ничего, что помогло мне или не схоже с моим.
История вопроса
Я разработал персональное приложение на своем ноутбуке. Я подтолкнул к github и heroku и все работает просто отлично. Я хотел иметь возможность работать с этим приложением на моем настольном компьютере. Он имеет те же настройки, что и мой ноутбук: оба работают под управлением Ubuntu 18.04, оба имеют одинаковые версии ruby и rails, оба имеют postgres.
Я клонировал приложение из github на рабочий стол. Проблема: любая команда rails или rake, которую я запускаю, генерирует эту ошибку.
/home/jdc44/.rvm/gems/ruby-2.5.1/gems/activerecord-5.0.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:88:in `async_exec': PG::UndefinedTable: ERROR: relation "customers" does not exist
LINE 8: WHERE a.attrelid = '"customers"'::regclass
^
: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod,
(SELECT c.collname FROM pg_collation c, pg_type t
WHERE c.oid = a.attcollation AND t.oid = a.atttypid AND a.attcollation <> t.typcollation),
col_description(a.attrelid, a.attnum) AS comment
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"customers"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
(ActiveRecord::StatementInvalid)
Так как в ней указано PG::UndefinedTable: ERROR...
, я "предположил", что это проблема установки базы данных.
На моем рабочем столев postgres я создал те же базы данных, пользователей и пароли, что и на моем ноутбуке.
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
------------------------+------------+----------+-------------+-------------+---------------------------
myapp | myapp | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
myapp_development | cowan | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =Tc/cowan +
| | | | | cowan=CTc/cowan +
| | | | | myapp=CTc/cowan
myapp_test | myapp | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =Tc/myapp +
| | | | | myapp=CTc/myapp
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
За исключением того, что отображается в столбце Access privileges
, строки с myapp ... идентичен выводу моего ноутбука.
database.yml
default: &default
adapter: postgresql
encoding: unicode
# For details on connection pooling, see rails configuration guide
# http://guides.rubyonrails.org/configuring.html#database-pooling
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
host: localhost
username: myapp
password: *****
development:
<<: *default
database: myapp_development
test:
<<: *default
database: myapp_test
production:
<<: *default
database: myapp_production
username: myapp
password: <%= ENV['MYAPP_DATABASE_PASSWORD'] %>
Опять же, любая команда rake
или rails
выводит меня из этой ошибки. т.е.: rake db:migrate
или rails console
.
Любые предложения будут с благодарностью.
JC