5

Ho seguito questo tutorial veramente utile:Come posso creare un utente e un database Postgres ogni volta che creo una nuova app per rotaie?

http://blog.willj.net/2011/05/31/setting-up-postgresql-for-ruby-on-rails-development-on-os-x/

Vorrei davvero a correre rails new myapp e hanno le Postgres DB impostate automaticamente. C'è un modo per farlo usando uno Rails application template o qualcosa di simile?

+0

Suppongo che potrei creare un utente e un database che uso per tutte le mie piccole applicazioni di test. Comunque per cose più grandi ovviamente voglio database separati. –

risposta

14

In un sistema basato su UNIX:

sudo -u postgres createuser -d -R -P APPNAME 
sudo -u postgres createdb -O APPNAME APPNAME 

È possibile creare uno script e metterlo da qualche parte nel $ PATH, se non si riesce a ricordare.

+1

Non dovresti aver bisogno di sudo per quei comandi - solo un account "superuser" per il database Postgres. –

+5

Per motivi di completezza, 'createuser -d -R -P creerà un utente che può creare un db (-d), non può creare un ruolo (-R) e richiedere la password (-P)' http://www.postgresql.org/docs/9.1/static/app-createuser.html 'createdb -O creerà un db con il proprietario specificato (-O)' http: //www.postgresql. org/docs/9.1/static/app-createdb.html – zznq

8

In realtà non è necessario creare un nuovo utente ogni volta che si crea una nuova app per rotaie.

Tutto quello che dovete fare è creare la nuova applicazione e cambiare la username nel vostro database.yml

development: 
    adapter: postgresql 
    encoding: unicode 
    database: newapp_development 
    pool: 5 
    username: #your username 
    password: 
... 

non solo:

rake db:create:all 
+0

Grazie per quello. Non me ne sono reso conto. Esiste comunque la possibilità di personalizzare il file database.yml così come è stato creato? So che sono due secondi per cambiarlo, ma mi piace essere in grado di provare rapidamente idee diverse. –

+1

È possibile creare un modello di database ... Non ho ancora provato, ma c'è un [railscast] (http://railscasts.com/episodes/148-app-templates-in-rails-2-3) su esso. – gabrielhilal

+0

Davvero ottimo screencast. Voglio creare un file template.rb con ''config/database.yml', % Q {stuff per database.yml qui}' Tuttavia ho bisogno di ottenere il nome dell'app nel file template.rb. È possibile? –

Problemi correlati