1

我可以cap deploy成功运行,但是当我尝试运行时cap deploy:migrate,出现以下错误:

*** [err :: domain.com.br] rake aborted!
*** [err :: domain.com.br] PG::Error: ERROR:  Relation"posts"does not exist
*** [err :: domain.com.br] LINE 4:              WHERE a.attrelid = '"posts"'::regclass
*** [err :: domain.com.br] ^
*** [err :: domain.com.br] :             SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
*** [err :: domain.com.br] FROM pg_attribute a LEFT JOIN pg_attrdef d
*** [err :: domain.com.br] ON a.attrelid = d.adrelid AND a.attnum = d.adnum
*** [err :: domain.com.br] WHERE a.attrelid = '"posts"'::regclass
*** [err :: domain.com.br] AND a.attnum > 0 AND NOT a.attisdropped
*** [err :: domain.com.br] ORDER BY a.attnum
*** [err :: domain.com.br] 
*** [err :: domain.com.br] Tasks: TOP => db:migrate => environment
*** [err :: domain.com.br] (See full trace by running task with --trace)
    command finished in 8091ms

我已经在运行的服务器上创建了数据库:

create database <databasename>;

编辑 添加迁移示例:

class AddStatusTagsViewsToPosts < ActiveRecord::Migration
  def change
    change_table :posts do |p|
      p.string :status, default: 'pending'
      p.string :tags
      p.integer :views
    end
  end
end

有什么帮助吗?

4

2 回答 2

2

问题是activeadmin我的 Gemfile 中列出了 gem,而这个 Gem 在config/routes.rb文件中添加了一个唯一的行。

解决方案是注释添加的行activeadmin,运行迁移,然后取消注释。

于 2012-08-06T11:09:11.570 回答
0

在以前的迁移之一中,您应该有create_table :posts,但似乎没有。因此,您尝试更改不存在的表,这是 Postgres 抱怨的。

于 2012-08-03T04:25:17.040 回答