[rails5] 当选择了PostgreSQL时进行db:create时的错误和由spring引起的错误

1. 数据库创建错误

在Mac上工作。

ruby -v
# => ruby 2.4.0p0
rails -v
# => Rails 5.0.1
rails new myapi --api -T -d postgresql
rails db:create
#  could not connect db (brabrabra)

出现了类似的错误。当我搜索一番后,发现了各种不同的意见,例如,“这是因为config/database.yml文件中的用户名和密码默认是注释掉的”,或者“可能是因为数据库所有者没有CREATEDB权限,尝试添加后问题解决了”。实际上,按照这些建议尝试后,错误确实得到了解决,但最终我决定将所有新建的rails项目全部删除并重新开始,这样错误就没有再出现了。

仔细思考后,我发现我甚至没有安装PostgreSQL。还有其他可能因素如下:

    • たぶんpostgresqlをインストールしていなかったせい?でpgというgemの新しいバージョンのインストールが失敗したのであとで無理やり入れた。そこらへんでpostgresqlの設定が変になったのかも?

 

    postgresqlを起動させていなかった。railsコマンドが勝手にdbを起動してくれる、と思い込んでいた。

在以上的基础上,我再次使用brew uninstall命令来卸载PostgreSQL,并彻底删除了相关的目录,然后重新安装,这样就没有出现错误了。

brew uninstall postgresql
rm -rf /usr/local/var/postgres/
brew install postgresql
rails new myapi --api -T -d postgresql
cd myapi
rails db:create
# => created database 'myapi_development'
# => created database 'myapi_test'

2. 似乎是由于春天而引起的错误

cd myapi
rails g scaffold ...

当我执行时,命令提示符冻结了很长时间,然后出现了大约十几行的Spring错误消息。
重新启动Spring后,问题就解决了。

pwd
# => /../../.../myapi
spring start
spring stop
广告
将在 10 秒后关闭
bannerAds