一桩撮、問題澄清
在推進(jìn)項(xiàng)目的過程中,終端執(zhí)行rake db:migrate
進(jìn)行遷移文件時(shí),發(fā)生了報(bào)錯(cuò)痢艺,報(bào)錯(cuò)提示是blogs這張表已經(jīng)存在
二、解決思路
1.閱讀報(bào)錯(cuò)信息
2.查看是哪個(gè)表已經(jīng)存在介陶,這個(gè)表是在哪個(gè)數(shù)據(jù)庫中
3.查找資料堤舒,搞清楚操作MySQL的數(shù)據(jù)庫和其中的表的方法
4.刪除數(shù)據(jù)庫中重復(fù)的表
5.重新運(yùn)行遷移文件
三、解決過程
1.查看報(bào)錯(cuò)提示
在運(yùn)行rake db :migrate
遷移文件時(shí)哺呜,出現(xiàn)下面的報(bào)錯(cuò):
報(bào)錯(cuò)信息提示blogs這張表已經(jīng)存在了
2.查看表對(duì)應(yīng)的數(shù)據(jù)庫的名稱
首先打開你的項(xiàng)目中的database.yml文件舌缤,查看數(shù)據(jù)庫的名稱,我這里要用的數(shù)據(jù)庫是development環(huán)境下某残,因此你可以看到要操作的數(shù)據(jù)庫是blog2_development
3.終端執(zhí)行:mysql -u root -p
注意国撵,不要忘了加上-p
,否則會(huì)出現(xiàn)報(bào)錯(cuò)玻墅,例如Access denied for user 'xxx'@'xxx' (using password: NO)
這樣的報(bào)錯(cuò)介牙,說明沒有連接到MySQL數(shù)據(jù)庫,更多相關(guān)內(nèi)容可閱讀連接MySQL數(shù)據(jù)庫時(shí)常見故障問題的分析與解決
4.終端依次執(zhí)行:
use blog2_development;
即選擇要操作的數(shù)據(jù)庫
drop table blogs;
刪除其中的blogs這個(gè)表
quit;
退出MySQL
rake db:migrate
執(zhí)行遷移文件!
可以看到成功解決了blogs表已存在的問題了澳厢,如下圖:
四环础、補(bǔ)充
我們終端可以通過MySQL的指令來操作數(shù)據(jù)庫,同樣也可以借助MySQL的可視化工具來操作數(shù)據(jù)庫剩拢。
打開MySQL的可視化工具Sequel Pro线得,進(jìn)行數(shù)據(jù)庫的連接,這里使用的是Standard模式徐伐,需要注意的是填寫好以下信息:
- Host:127.0.0.1
- Username: root
- Password 這個(gè)是你的數(shù)據(jù)庫的密碼框都,如果沒有設(shè)置則不用填寫
- Database:你要連接的數(shù)據(jù)庫
如圖:
然后,點(diǎn)擊"Connect"進(jìn)行連接,效果圖:
這樣的話就可以很直觀的看到有哪些tables魏保,也可以直接在這里進(jìn)行增刪改查等操作
五熬尺、參考資料:
1.連接MySQL數(shù)據(jù)庫時(shí)常見故障問題的分析與解決
2.Access denied for user 'root'@'localhost' (using password: YES)
3.# Error 1046 No database Selected, how to resolve?
4.MySQL 刪除數(shù)據(jù)表