2012-06-13 1 views
0

Я пытаюсь загрузить приложение rails в dotcloud.Как создать базу данных postgresql в Dotcloud?

Я получаю эту ошибку:

PG::Error (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"? 
): 
    activerecord (3.2.5) lib/active_record/connection_adapters/postgresql_adapter.rb:1206:in `initialize' 

Я предполагаю, что это потому, что я не создали базу данных Postgres. Как мне это сделать? Документы, похоже, не говорят.

Мой dotcloud.yml файл выглядит следующим образом:

www: 
    type: ruby 
    exclude_bundler_groups: 
    - development 
data: 
    type: postgresql 

Мой database.yml выглядит следующим образом:

production: 
    adapter: postgresql 
    database: my_app_production # have not set this up on dotcloud yet as I can't find any docs on how to do it 
    username: root 
    password: mypassword 

ли я запускать миграции? Как это сделать, опять же документы не говорят.

Есть ли руководство для идиотов по настройке приложения rails на dotcloud? Я возвращаюсь из Героку, где вы просто подталкиваете свой код и выполняете свои миграции. Я потратил несколько часов на борьбу с документами dotcloud и не могу запустить это приложение.

ответ

1

После создания приложения с этим файлом yaml, например «dotcloud push APPNAME app-on-dotcloud /», вы должны запустить эту строку «dotcloud APPNAME.data info», и вы получите всю информацию для подключения к базе данных, которую вы может добавить к database.yml

UPDATE

Вы получили всю информацию для доступа к терминалу PostGreSQL: пользователя, пароль, порт и хост. Вам нужно запустить «dotcloud ssh APPNAME.www», поскольку вы подключаетесь к postgresql с помощью «psql -h myapp-myname.dotcloud.com -p 29876 -U root», а затем введите свой пароль. Наконец, создайте свою базу данных с помощью «CREATE DATABASE» dbname »; и обновите свой файл database.yml.

+0

спасибо, но работает 'dotcloud APPNAME.data info' не отображает имя db. Я получаю хэш-форматированный json с такими файлами, как 'config: postgresql_password: xyz, ports: url: pgsql: // root: [email protected]: 29876, type: postgresql', но не упоминается имя db. Я что-то упускаю? – stephenmurdoch

+1

@stephenmurdoch вам нужно создать базу данных самостоятельно, и вы можете указать любое имя, которое хотите. Информация из команды dotcloud info дает вам то, что вам нужно для подключения к базе данных и создания базы данных. Если вы выполните шаги на этой странице, вы увидите, как создать свою базу данных. http://docs.dotcloud.com/services/postgresql/ –

+0

ах, спасибо, это имеет смысл, я разобраю это сегодня вечером, спасибо еще раз. Cheers – stephenmurdoch