- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我以前看到过这个问题,但只针对 rspec。我还没有创建测试,因为它对我来说太先进了,但总有一天我会的! :P
当我尝试注册/登录我的应用程序时出现此错误。我使用 devise 创建用户,还使用 omniauth2 使用 google 登录。
这是错误
ActiveRecord::StatementInvalid at /users/auth/google_oauth2/callback
PG::UndefinedTable: ERROR: relation "users" does not exist
LINE 5: WHERE a.attrelid = '"users"'::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 = '"users"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
我试过 rake db:migrate
,但它已经创建:在架构表中存在用户。以前有人遇到过这个错误吗?
数据库.yml
config=/opt/local/lib/postgresql84/bin/pg_config
development:
adapter: postgresql
encoding: unicode
database: tt_intraweb_development
pool: 5
username: my_username
password:
test:
adapter: postgresql
encoding: unicode
database: tt_intraweb_test
pool: 5
username: my_username
password:
production:
adapter: postgresql
encoding: unicode
database: tt_intraweb_production
pool: 5
username: my_username
password:
最佳答案
首先,您应该从数据库中分离所有连接。默认情况下,您使用开发 环境。然后尝试使用以下命令重置数据库:
rake db:reset
The rake db:reset task will drop the database and set it up again. This is functionally equivalent to rake db:drop db:setup.
This is not the same as running all the migrations. It will only use the contents of the current schema.rb file. If a migration can't be rolled back, rake db:reset may not help you. To find out more about dumping the schema see Schema Dumping and You section. Rails Docs
如果这个技巧没有帮助,删除数据库,然后重新创建它,迁移数据,如果你有种子,播下数据库:
rake db:drop db:create db:migrate db:seed
或简而言之(自 3.2 起):
rake db:migrate:reset db:seed
因为 db:migrate:reset
意味着删除、创建和迁移数据库。因为 rake
的默认环境是开发,如果您在规范测试中看到异常,您应该为测试 重新创建数据库环境如下:
RAILS_ENV=test rake db:drop db:create db:migrate
或者只加载迁移的方案:
RAILS_ENV=test rake db:drop db:create db:schema:load
在大多数情况下,测试数据库是在测试过程中播种的,因此不需要通过 db:seed
任务操作。否则,您应该准备数据库(这在 Rails 4 中已弃用):
rake db:test:prepare
然后(如果确实需要的话):
RAILS_ENV=test rake db:seed
在较新版本的 Rails 上,错误 ActiveRecord::NoEnvironmentInSchemaError 可能会出现,因此只需在任务前加上数据库环境设置任务:db:environment:set:
RAILS_ENV=test rake db:environment:set db:drop db:create db:migrate
关于ruby-on-rails - PG undefinedtable 错误关系用户不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19097558/
我有以下命名空间模型: # app/models/face_data/pool_membership.rb class FaceData::PoolMembership 0 AND NOT a.at
我有一些模型设置了命名空间.. rails g model Technology::Post ... 这导致了错误 PG::UndefinedTable: ERROR: relation "post
我以前看到过这个问题,但只针对 rspec。我还没有创建测试,因为它对我来说太先进了,但总有一天我会的! :P 当我尝试注册/登录我的应用程序时出现此错误。我使用 devise 创建用户,还使用
只是尝试构建一个 Rails 应用程序,我很确定我做了一些愚蠢的事情。我跑了一个脚手架,拼错了模型 Ave vs Afe。我确定我已经完成并更改了迁移文件和查看文件等中的所有内容,甚至搜索了“ave”
我在开发和测试中使用 sqlite,并部署到在生产中使用 Postgres 的 Heroku。我通过在终端中运行以下命令为“评论”创建了一个新模型: rails g model Review comm
我遇到了一个问题,我不确定如何解决这个问题。在创建 Rails View 、填充 View 和编辑 Controller 后,我遇到了一个错误,指出 PG::UndefinedTable: ERROR
我有模型 class Offer { where(state: 'active') } # Somewhere else merge(Agency.active) 此外,了解其他模型的表名是什么。在
我刚刚向模型添加了全局化(使用 globalize gem)。 模型: class Information::Blog::Post t.typcollation WHE
我有一个表 A,其中包含列 name(string)、email(sring) 和 details(json)。我想像这样使用 first_or_create: A.where(:name => a.
作为我看到的表格的一部分: ... ... 处理表单提交的邀请 Controller 方法: def create @user = User.find(email: para
我知道这个问题已经被问过很多次了,但我已经尝试了很多解决方案,但都没有成功。我在 Heroku 上部署了一个 Rails 应用程序,它可以在本地运行,但我收到“很抱歉,出了点问题”。当我尝试在 Her
将应用程序 Rails 5.2 更新为 6,更新添加了以下两个迁移: # This migration comes from active_storage (originally 201901
我有两个模型:Courier 和 Order。 我有以下查询: active_couriers = Courier. available_courier_status. where(:serv
我在开发环境中使用 SQlite,在生产环境中使用 Postgre。 在开发过程中一切正常。但是当我尝试重置和迁移生产数据库时,我收到了以下消息: PG::UndefinedTable: ERROR:
因此,我正在开发一个现有的应用程序,并且正在将其设置到我的本地环境中,但是我遇到了一些问题: 1. 我已经下载了最新的代码,并从内部开发人员那里转储了数据库。这是一个 .sql 文件,所以我使用了以下
例如,如果我尝试删除一个不存在的表,我将收到以下错误: "# ex if ex.cause.is_a?(PG::UndefinedTable) # do something else
在迁移时,我收到以下错误消息: PG::UndefinedTable: ERROR: relation "actioncodes" does not exist : ALTER TABLE "org
我在事件和用户之间有一个 has_and_belongs_to_many 关系。 用户.rb class User 0 AND NOT a.attisdropped O
我的一个 PG DB 表出现了这个问题。我有一个表,它的名字是“hproducts_rules”。这应该与“hproducts_matchs”表具有“belongs_to”关系。 这是我的表架构: h
rake db:migrate 在 sqlite3 中本地工作,但在 heroku 中的 postgresql 中不起作用。 错误 PG::UndefinedTable: ERROR: relati
我是一名优秀的程序员,十分优秀!