【问题标题】:How can I change from SQLite database to PostgreSQL database in a working Rails project for localhost?如何在本地工作的 Rails 项目中从 SQLite 数据库更改为 PostgreSQL 数据库?
【发布时间】:2019-05-29 18:01:12
【问题描述】:

在database.yml中

development:
  adapter: postgresql
  encoding: unicode
  database: demo_test_development
  pool: 5
  username: adarsh
  password: 
  timeout: 5000
  host: localhost
  port: 5432

test:
  adapter: postgresql
  encoding: unicode
  database: demo_test_test
  pool: 5
  username: adarsh
  password: 
  timeout: 5000
  host: localhost
  port: 5432

在gem文件中

group :development do

    gem 'pg'
    gem 'taps'

end

那我做

1) 捆绑安装(正在运行)

2)rake db:setup,db:create,db:migrate(但不工作)

出现错误:无法连接到服务器:连接被拒绝服务器是否在主机“localhost”(127.0.0.1) 上运行并接受端口 5432 上的 TCP/IP 连接? 无法创建“demo_test_development”数据库。请检查您的配置。

【问题讨论】:

标签: ruby-on-rails ruby postgresql sqlite


【解决方案1】:

您在 gem 文件的开发组中使用 gem 'pg'。

group :development do

    gem 'pg'
    gem 'taps'

end

将此行移出development 组,将其包含在每个环境中。

【讨论】:

  • gd 我解决了这个问题,现在我对 seup pgadmin...EX = 在 sqllite 中我们只是为打开数据库做,打开数据库按钮/我的文档/应用程序名称/db/development.sqlite3 之类的那在 pgadmin 我如何打开数据库?
  • 您需要在file => Add Server下添加New Server。服务器下的列表中会有localhost。在那里你会找到你DB
  • 是的,我用它代替了 localhost 我添加了主机号 127.0.0.1 它可以工作,谢谢大家,帮助我............
  • 请接受答案,然后也帮助他人
  • @AdarshKL 只有解决了你的问题才接受答案,看来 Sumanth 对解决你的问题贡献最大,也许他们会根据他们的 cmets 留下答案。
【解决方案2】:

您需要将 postgresql 包安装到您的系统中,您可以参考this 链接了解有关安装 postgres 的说明,您只需执行以下命令即可

sudo apt-get install postgresql postgresql-contrib

这会将 postgres 安装到您的系统中

那么您需要使用您在 rails 应用程序的 database.yml 文件中提到的详细信息创建一个用户

数据库浏览器可以使用pgadmin,其他工具可以参考this问题

要安装 pgadmin3 运行以下命令

 sudo apt-get install pgadmin3

然后使用您正在使用的主机端口等详细信息对其进行配置(参考 database.yml)

【讨论】:

    猜你喜欢
    • 2015-05-03
    • 1970-01-01
    • 2011-09-30
    • 2013-11-26
    • 2011-10-06
    • 2011-07-21
    • 1970-01-01
    • 2018-10-23
    • 2016-03-05
    相关资源
    最近更新 更多