第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

PG無(wú)法定義的錯(cuò)誤關(guān)系用戶不存在

PG無(wú)法定義的錯(cuò)誤關(guān)系用戶不存在

ibeautiful 2019-12-21 12:51:56
我之前看到過(guò)這個(gè)問(wèn)題,但僅適用于rspec。我還沒(méi)有創(chuàng)建測(cè)試,因?yàn)樗鼘?duì)我來(lái)說(shuō)太高級(jí)了,但是很快我就會(huì)!:P當(dāng)我嘗試注冊(cè)/登錄我的應(yīng)用程序時(shí)出現(xiàn)此錯(cuò)誤。我使用devise創(chuàng)建用戶,還使用omniauth2使用google登錄。這是錯(cuò)誤ActiveRecord::StatementInvalid at /users/auth/google_oauth2/callbackPG::UndefinedTable: ERROR:  relation "users" does not existLINE 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我試過(guò)了rake db:migrate,但是已經(jīng)創(chuàng)建了:在模式表中,存在用戶。之前有人收到此錯(cuò)誤嗎?數(shù)據(jù)庫(kù)config = / opt / local / lib / postgresql84 / bin / pg_configdevelopment:  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:
查看完整描述

3 回答

?
慕森卡

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超8個(gè)贊

首先,您應(yīng)從數(shù)據(jù)庫(kù)中分離所有連接。默認(rèn)情況下,您使用開(kāi)發(fā)環(huán)境。然后嘗試使用以下方法重置數(shù)據(jù)庫(kù):


rake db:reset

rake db:reset任務(wù)將刪除數(shù)據(jù)庫(kù)并重新設(shè)置。這在功能上等同于rake db:drop db:setup。


這與運(yùn)行所有遷移不同。它將僅使用當(dāng)前schema.rb文件的內(nèi)容。如果無(wú)法回滾遷移,則rake db:reset可能對(duì)您沒(méi)有幫助。要了解有關(guān)轉(zhuǎn)儲(chǔ)模式的更多信息,請(qǐng)參閱“模式轉(zhuǎn)儲(chǔ)和您”部分。Rails文件


如果技巧不起作用,請(qǐng)刪除數(shù)據(jù)庫(kù),然后重新創(chuàng)建數(shù)據(jù)庫(kù),遷移數(shù)據(jù),如果有種子,請(qǐng)播種數(shù)據(jù)庫(kù):


rake db:drop db:create db:migrate db:seed

或簡(jiǎn)而言之(從3.2開(kāi)始):


rake db:migrate:reset db:seed

由于db:migrate:reset暗示刪除,因此創(chuàng)建和遷移數(shù)據(jù)庫(kù)。因?yàn)槟J(rèn)的環(huán)境rake是development,所以如果您在規(guī)格測(cè)試中看到異常,則應(yīng)該為測(cè)試環(huán)境重新創(chuàng)建db,如下所示:


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

或僅加載遷移的方案:


RAILS_ENV=test rake db:drop db:create db:schema:load

在大多數(shù)情況下,測(cè)試數(shù)據(jù)庫(kù)是在測(cè)試過(guò)程中播種的,因此db:seed不需要通過(guò)任務(wù)操作。否則,您應(yīng)該準(zhǔn)備數(shù)據(jù)庫(kù)(在Rails 4中已棄用):


rake db:test:prepare

然后(如果確實(shí)需要):


RAILS_ENV=test rake db:seed

在較新版本的Rails上,可能會(huì)出現(xiàn)錯(cuò)誤ActiveRecord :: NoEnvironmentInSchemaError,因此只需在數(shù)據(jù)庫(kù)環(huán)境設(shè)置任務(wù)之前添加任務(wù):db:environment:set即可:


RAILS_ENV=test rake db:environment:set db:drop db:create db:migrate


查看完整回答
反對(duì) 回復(fù) 2019-12-21
?
九州編程

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超4個(gè)贊

我遇到此錯(cuò)誤,并且在研究后發(fā)現(xiàn)PG無(wú)法定義的錯(cuò)誤關(guān)系用戶不存在錯(cuò)誤的原因之一是:


此錯(cuò)誤是遷移錯(cuò)誤。您可能已經(jīng)創(chuàng)建了具有某些數(shù)據(jù)庫(kù)屬性的新模型。創(chuàng)建模型后,您必須將屬性遷移到Rails應(yīng)用模式。


如果使用本地計(jì)算機(jī)進(jìn)行開(kāi)發(fā),則可以使用命令


rake db:migrate

如果您使用的是heroku


heroku run rake db:migrate


查看完整回答
反對(duì) 回復(fù) 2019-12-21
?
弒天下

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超8個(gè)贊

您的測(cè)試數(shù)據(jù)庫(kù)尚未準(zhǔn)備好用于rspec。


準(zhǔn)備用于rspec的測(cè)試數(shù)據(jù)庫(kù)以修復(fù)此錯(cuò)誤


RAILS_ENV=test rake test:prepare

它將刪除,創(chuàng)建遷移并將其添加到測(cè)試數(shù)據(jù)庫(kù)


如果rake任務(wù)中止并顯示類似“ PG :: Error:ERROR”的消息:其他用戶正在訪問(wèn)數(shù)據(jù)庫(kù)“ [your_db_test]”,請(qǐng)執(zhí)行此操作


RAILS_ENV=test rake db:migrate


查看完整回答
反對(duì) 回復(fù) 2019-12-21
  • 3 回答
  • 0 關(guān)注
  • 1152 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)