我是第一次将应用程序部署到数字海洋并遇到两个(可能更多)问题.
1)bundle install添加gem 'unicorn'到Gemfile 后我不能.我发现kgio与windows不兼容.通过capistrano部署时,是否必须存在Gemfile.lock?我将如何解决这个问题?
group :production do
gem 'pg', '0.14.1'
gem "nginx"
gem 'unicorn'
end
Run Code Online (Sandbox Code Playgroud)
2)我在服务器上的postgresql上进行身份验证时遇到问题.
production:
adapter: postgresql
encoding: unicode
database: postgresql
pool: 5
username: postgresql
password: secret
Run Code Online (Sandbox Code Playgroud)
我运行了这些命令(以及其他一些变体):
create user postgresql with password 'secret';
create database postgresql with owner postgresql;
Run Code Online (Sandbox Code Playgroud)
我每次上限部署时都会收到此错误:
FATAL: Peer authentication failed for user "postgresql"
Run Code Online (Sandbox Code Playgroud)
我尝试使用我知道不存在的无效用户名,数据库无效但错误消息始终相同.根据postgresql网站,我应该得到不同的错误...
如果我能得到一些帮助,那就太棒了.谢谢!
我在PHP脚本中构建了一个bash命令.构建的命令如下:
su postgres -c "for tbl in `psql -qAt -c \"select tablename from pg_tables where schemaname = 'public';\" demodoo` ;do psql -c \"alter table $tbl owner to postgres\" demodoo ;done "
Run Code Online (Sandbox Code Playgroud)
当我尝试在shell中运行此命令时,我收到此错误:
psql: FATAL: role "root" does not exist
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况,而我在postgres用户下执行命令?
谢谢干杯,
编辑 我将命令更改为
sudo -u postgres for tbl in `psql -qAt -c "select tablename from pg_tables where schemaname = 'public';" demodoo` ;do psql -c "alter table $tbl owner to postgres" demodoo ;done
Run Code Online (Sandbox Code Playgroud)
但现在我得到另一个错误,我无法理解其来源:
-bash: syntax error near unexpected token `do'
Run Code Online (Sandbox Code Playgroud) 我一直试图设置流浪汉,但我收到了这个错误.我将列出我的安装方法.请在您认为需要的地方建议更改.
- 安装虚拟盒子
sudo apt-get install virtual box
-ranown网站上的.downloaded .deb包
- 使用安装它
sudo dpkg -i (package_name)
然后我选择了fullstack文件夹中的vagrant文件夹
vagrant up
vagrant ssh
然后我做了:
vagrant@vagrant-ubuntu-trusty-32: cd /vagrant/forum
vagrant@vagrant-ubuntu-trusty-32:/vagrant/forum$ sudo apt-get install postgresql-client-common
vagrant@vagrant-ubuntu-trusty-32:/vagrant/forum$ sudo apt-get install postgres-xc-client
最后:
vagrant@vagrant-ubuntu-trusty-32:/vagrant/forum$ psql
psql: FATAL: role "vagrant" does not exist
我的应用程序在生产中运行良好,但是当我转移到生产并运行“heroku run rake db:migrate”时,出现以下错误:
PG::UndefinedTable: ERROR: table "applications" does not exist
Migrating to DropApplications (20160509013805)
(0.8ms) BEGIN
== 20160509013805 DropApplications: migrating =================================
-- drop_table(:applications)
(1.1ms) DROP TABLE "applications"
(0.5ms) ROLLBACK
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
PG::UndefinedTable: ERROR: table "applications" does not exist
: DROP TABLE "applications"
Run Code Online (Sandbox Code Playgroud)
但是,我的数据库中有一个“应用程序”表。这次下降可能与我前几天下降然后重新制作应用程序脚手架有关。我该如何解决?
create_table "applications", force: :cascade do |t|
t.string "name"
t.string "gender"
t.date "date_of_birth"
t.string "gpa"
t.text "essay"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end …Run Code Online (Sandbox Code Playgroud) postgresql ×4
bash ×1
capistrano ×1
deployment ×1
heroku ×1
php ×1
ruby ×1
ubuntu ×1
unicorn ×1