我打开了rails控制台并调用了DatabaseTable,但它失败了。 我跟着
psql: could not connect to server: No such file or directory (Mac OS X)
我试图打开postgres,我收到了错误。
$ psql
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
我打电话给日志来观察发生的事情。
$ tail -f /usr/local/var/postgres/server.log
FATAL: database "ror_development" does not exist
ERROR: database "ror_development" already exists
STATEMENT: CREATE DATABASE "ror_development" ENCODING = 'utf8'
ERROR: database "ror_test" already exists
STATEMENT: CREATE DATABASE "ror_test" ENCODING = 'utf8'
FATAL: database "harem_backend_development" does not exist
LOG: received smart shutdown request
LOG: autovacuum launcher shutting down
LOG: shutting down
LOG: database system is shut down
我无法理解我的sql发生了什么,以及如何解决它
答案 0 :(得分:1)
从日志消息中可以看出你的Postgres没有运行(看起来像postgres进程被手动杀死了。)。尝试再次启动Postgres
pg_ctl -D /usr/local/var/postgres start
psql
答案 1 :(得分:1)
确保postgres在MacOS上运行。
如果你使用Homebrew安装postgres,你应该可以使用brew启动它:
brew services start postgresql
否则,您可以使用以下命令启动它:
pg_ctl -D /usr/local/var/postgres start
有关如何在MacOS中安装和使用postgres的详细信息,请阅读this guide。
设置您的Rails数据库(Rails> = 5)
启动postgres后,您就可以设置Rails数据库了。
创建数据库:
rails db:create
迁移数据库:
rails db:migrate
为数据库播种:
rails db:seed
创建数据库并为其设定种子:
rails db:setup
最后,删除(删除)数据库:
rails db:drop
对于Rails< 5,在上述命令中将rails
替换为bundle exec rake
。
有关使用Rails设置和配置数据库的更多信息,请阅读Rails Guide。