I-Diario - Erro na criação da entidade

Olá, comunidade!
Gostaria que me ajudassem a resolver um problema que me apareceu ao utilizar o comando de criação da entidade.
Estava ocorrendo tudo tranquilo até chegar na etapa de criação da entidade a qual tentei realizar com o comando abaixo:

bundle exec rake entity:setup NAME=prefeitura DOMAIN=192.168.0.149 DATABASE=idiario_prod

A partir daí, surgiu o seguinte erro:

ActiveRecord::StatementInvalid: PG::UndefinedTable: ERRO:  relação "entities" não existe
LINE 5:                WHERE a.attrelid = '"entities"'::regclass
                                          ^
:               SELECT a.attname, format_type(a.atttypid, a.atttypmod),
                     pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
                FROM pg_attribute a LEFT JOIN pg_attrdef d
                  ON a.attrelid = d.adrelid AND a.attnum = d.adnum
               WHERE a.attrelid = '"entities"'::regclass
                 AND a.attnum > 0 AND NOT a.attisdropped
               ORDER BY a.attnum
/home/idiario/i-diario/app/services/entity_creator.rb:30:in `create_entity'
/home/idiario/i-diario/app/services/entity_creator.rb:14:in `setup'
/home/idiario/i-diario/lib/tasks/entity.rake:6:in `block (2 levels) in <top (required)>'
/home/idiario/.rbenv/versions/2.3.7/bin/bundle:22:in `load'
/home/idiario/.rbenv/versions/2.3.7/bin/bundle:22:in `<main>'
PG::UndefinedTable: ERRO:  relação "entities" não existe
LINE 5:                WHERE a.attrelid = '"entities"'::regclass
                                          ^
/home/idiario/i-diario/app/services/entity_creator.rb:30:in `create_entity'
/home/idiario/i-diario/app/services/entity_creator.rb:14:in `setup'
/home/idiario/i-diario/lib/tasks/entity.rake:6:in `block (2 levels) in <top (required)>'
/home/idiario/.rbenv/versions/2.3.7/bin/bundle:22:in `load'
/home/idiario/.rbenv/versions/2.3.7/bin/bundle:22:in `<main>'
Tasks: TOP => entity:setup
(See full trace by running task with --trace)

########
Desde já, agradeço a colaboração.

Oi @erton.

Tens como postar quais as bases de dados que tens no teu banco?

O valor desse parâmetro DATABASE=idiario_prod não pode ser o mesmo que você definiu em database.yml

Olá @tiago.camargo
No meu SGDB tenho três bancos. Dois deles ( idiario_development e idiario_teste), foram criados automaticamente ao rodar o rakedb:migrate.
O outro é o idiario_prod, que criei na mão.
Taí uma informação que desconhecia sobre esse parâmetro. Nos dois casos, mantive a mesma nomeclatura.

Então possivelmente seja esse o problema. Você está usando uma base que já existe como parâmetro na hora de criar a entidade.

Você remover a idiario_prod do postgres ou utilizar outro nome como parâmetro para DATABASE no entity:setup.

1 curtida

Você estava certo. Removi o banco de dados que estava com o mesmo nome e rodei o comando de criação da entidade. Esta etapa foi completamente superada.
Valeu!

1 curtida