2012-04-28 57 views
8

我按照Spree的說明進行了設置,並且在開發模式下工作。我使用Capistrano將rackspace部署到生產服務器,但同樣的默認登錄(「[email protected]」/「spree123」)不起作用。我在網頁界面中創建了一個用戶,但當然不會有管理員權限。如何訪問生產中的Spree的管理部分?

指南中沒有將此考慮在內的問題 - 如何在最初沒有用戶的情況下在生產環境中創建管理員用戶?也許我部署不正確?我正在使用一個非常標準的deploy.rb,必須有一些特定的特定代碼來設置它嗎?

回答

0

好,

我建議你手動從控制檯創建用戶,SSH服務器,出口RAILS_ENV =生產,軌道C,然後找到你想要的,如果它們存在的用戶,並然後手動更新密碼,或者直接創建新用戶。你想要的,根據你的Spree版本,你只需手動插入一條記錄到roles_users,其中role_id是1,user_id是你剛剛創建的用戶的id。

它可能取決於您使用的版本。但我只是從控制檯上做到這一點,在我看來這很容易。

您也可以在自己的網站上註冊一個帳戶,然後轉到控制檯,找到該用戶並添加角色。真的有一百萬種方法可以做到這一點。

+0

我剛剛在我的ssh命令行中運行rake db:bootstrap RAILS_ENV = production,似乎已經很好地處理了所有事情。 – bluebit 2012-04-28 14:38:49

1

如果您創建的用戶是第一個用戶,它實際上會擁有管理員權限。

12

您可以從控制檯rails c任何用戶添加到施普雷管理員角色,執行以下操作:

user = user.find({your id}) 
user.spree_roles << Spree::Role.find_by_name(:admin) 

在生產中,您將運行控制檯是這樣的:

RAILS_ENV=production rails c 
19

你可以運行rake spree_auth:admin:create如果您使用spree_auth_devise

2

如果您使用heroku進行部署,請務必執行以下操作:

heroku run rake db:migrate 
heroku run rake db:seed 

種子會要求你創建的管理員帳號用戶名和密碼。

希望這有助於。