And*_*Gis 5 postgresql ruby-on-rails
我有一个使用SQLite的Web应用程序.我将它部署在使用PostgreSLQ的heroku上.这有时会导致问题,我被建议使用PostgreSQL而不是SQLite开发我的应用程序.
我发现我应该这样修改database.yml(测试和生产相同):
development:
adapter: postgresql
database: my_database
username: my_username
password: my_passwod
host: /var/run/postgresql or localhost
Run Code Online (Sandbox Code Playgroud)
我唯一使用过的数据库是SQLite,所以我只是想抓住机会,但失败了.我用一些随机数据填充了这个文件.
rake db:migrate 导致:
我用的时候 host: localhost
> could not connect to server: Connection refused Is the server running
> on host "localhost" and accepting TCP/IP connections on port 5432?
Run Code Online (Sandbox Code Playgroud)
什么时候 host: /var/run/postgresql
> could not connect to server: No such file or directory
> Is the server running locally and accepting connections on Unix domain socket
> "/var/run/postgresql/.s.PGSQL.5432"?
Run Code Online (Sandbox Code Playgroud)
我想我应该先启动PostgreSQL服务器,但不知道如何做到这一点.请让我一步一步地回答如何从SQLite应用程序转移到正在运行的PostgreSQL应用程序.
我想建议您,您应该下载 Postgresql,包括 PGADMIN 本身,它比 psql 终端更容易使用。
我认为当你从他们的官方网站下载/安装 Postgresql 时......包已经完成了。
安装后,postgresql 会询问您一个用于访问 postgresql 服务器的特定密码。
安装完成后,打开PGADMIN并连接到服务器。输入您的密码(您在安装过程中声明的密码)。
如果无法连接到服务器,请编辑端口。为此,右键单击服务器,然后转到属性...将端口编辑为免费的端口。例如:5433等。由你决定。
如果一切终于正常...为您的database.yml设置正确的配置
这个很重要:
development:
adapter: postgresql
database: name_of_database_here
host: localhost
username: postgres
password: your_db_server_password_here
pool: 5
timeout: 5000
port: 5433
Run Code Online (Sandbox Code Playgroud)
好的,从上面的配置信息中,指定重要的部分。默认情况下,您的数据库服务器用户名是 postgres,显然您的主机是 localhost,因为您是在开发下设置的。
如果您的端口默认为 5432,则只需删除端口部分即可。
让我们转到您的 gemfile。
为了让您在 heroku 中部署您的应用程序。使用 gem 'pg' 而不是 sqlite3。
如果您有现有的 sqlite3 数据库,则将 gem 放入开发组中。在这种情况下,Heroku 将在 git push heroku master 进程期间成功捆绑。
group :development do
gem 'sqlite3'
end
Run Code Online (Sandbox Code Playgroud)
您gem 'pg'可以转到组外,也可以将其放入您的制作组中。
重要的:
在执行任何部署过程之前,请确保您可以在本地 (localhost) 运行该应用程序。然后,如果一切正常……那就是您应该适当组织必要的东西的时候了。
如果您希望在将应用程序推送到 Heroku 后切换到 Postgresql 而不是 sqlite3...您可以通过 pgbackups 附加组件并将转储文件 pg_restore 到本地 postgresql 数据库服务器中来实现。
就是这样。希望能帮助到你。
| 归档时间: |
|
| 查看次数: |
3438 次 |
| 最近记录: |