Rails 的新手,正在尝试启动本地开发环境并运行从 git 克隆的站点。
当我启动 postgres 并在项目下的终端中键入“rails s”以启动服务器时,我遇到了以下问题:
=> Booting WEBrick
=> Rails 4.2.0 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2017-01-08 20:43:24] INFO WEBrick 1.3.1
[2017-01-08 20:43:24] INFO ruby 2.2.6 (2016-11-15) [i386-mingw32]
[2017-01-08 20:43:24] INFO WEBrick::HTTPServer#start: pid=1036 port=3000
Started GET "/" for ::1 at 2017-01-08 20:43:29 -0500
Started GET "/" for ::1 at 2017-01-08 20:43:29 -0500
ActiveRecord::NoDatabaseError (FATAL: role "username" does not exist
):
如果我尝试运行
rake db:create
我收到了
FATAL: role "username" does not exist
C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/postgresql_adapter.rb:661:in `rescue in
.....
基本上与 rake db:migrate 相同。站点的所有迁移都在\Sites\sitename\sitename\db\migrate
如果我尝试创建用户
psql -U username
我马上回来了
psql: FATAL: role "username" does not exist
我整个下午都在为这件事绞尽脑汁。
我在 Windows 机器上。有什么想法吗?
最佳答案
首先,您必须设置数据库并在 psql 中创建 super 用户。转到 psql:
sudo -u postgres psql
然后你可以创建一个有密码的用户。例如:
create user username with password '12345678';
Rails 将在该用户的帮助下管理数据库。所以我们也必须创建一个 super 用户:
alter user username with superuser;
创建 super 用户后,您可以退出 psql。相同的数据必须在您的/config/database.yml 文件中:
development:
<<: *default
database: database_name
username: username
password: '12345678'
在您的应用程序存储库中,借助 rake 创建一个数据库:
rake db:create
关于ruby-on-rails - 新 Rails 安装:ActiveRecord::NoDatabaseError FATAL: role does not exist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41539905/