5

śledzę tego bardzo pomocny poradnik:Jak mogę utworzyć użytkownika i bazę danych Postgres za każdym razem, gdy tworzę nową aplikację szyn?

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

naprawdę chciałbym uruchomić rails new myapp i mają postgres DB skonfigurować automatycznie. Czy jest jakiś sposób, mogę to zrobić za pomocą Rails application template lub coś podobnego?

+0

Przypuszczam mogę utworzyć użytkownika i bazy danych, które mogę używać do wszystkie moje małe aplikacje testowe. Jednak w przypadku większych rzeczy oczywiście potrzebuję oddzielnych baz danych. –

Odpowiedz

14

W systemie opartym na UNIX:

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

Można utworzyć skrypt, i umieścić go gdzieś w $ PATH, jeśli nie pamiętam.

+1

Nie powinieneś potrzebować sudo do tych poleceń - tylko konto "superużytkownika" dla bazy danych Postgres. –

+5

Tylko dla skończenia, 'createuser -d -R -P utworzy użytkownika, który może utworzyć db (-d), nie może utworzyć roli (-R), i poprosić o podanie hasła (-P)' http://www.postgresql.org/docs/9.1/static/app-createuser.html 'createdb -O utworzy db z określonym właścicielem (-O)' http: //www.postgresql. org/docs/9.1/static/app-createdb.html – zznq

8

W rzeczywistości nie trzeba tworzyć nowego użytkownika za każdym razem, gdy tworzy się nową aplikację szyn.

Wszystko co musisz zrobić, to stworzyć nową aplikację i zmienić username w swojej database.yml

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

niż tylko:

rake db:create:all 
+0

Dzięki za to. Nie zdawałem sobie z tego sprawy. Czy istnieje możliwość dostosowania pliku database.yml podczas jego tworzenia? Wiem, że to dwie sekundy na zmianę, ale po prostu lubię szybko wypróbowywać różne pomysły. –

+1

Możesz utworzyć szablon bazy danych ... Jeszcze nie próbowałem, ale jest [railscast] (http://railscasts.com/episodes/148-app-templates-in-rails-2-3) o to. – gabrielhilal

+0

Naprawdę świetny screencast. Chcę utworzyć plik template.rb z ''config/database.yml', % Q {stuff dla database.yml tutaj}' Jednak muszę pobrać nazwę aplikacji do pliku template.rb. Czy to jest możliwe? –

Powiązane problemy