我一直在使用Authlogic rails插件。真的,我所使用的只有一個管理員用戶可以編輯該網站。這不是人們註冊帳戶的網站。我將最終使得已經登錄的用戶限制創建用戶方法,但是當我清除數據庫時,我無法創建用戶,因此我必須以某種方式預先填充它。我試圖做一個遷移,把我創建的用戶轉儲,但這不起作用,似乎很hacky。處理這個問題的最好方法是什麼?這是棘手的,因爲密碼被哈希,所以我覺得我必須創建一個,然後拉出哈希條目...使用authlogic rails插件預填充admin用戶數據庫
4
A
回答
7
Rails 2.3.4爲種子數據庫添加了一項新功能。
您可以在種子加入DB/seed.rb文件:
User.create(:username => "admin", :password => "notthis", :password_confirmation => "notthis", :email => "[email protected]")
然後將其插入:
rake db:seed
生產或測試
RAILS_ENV="production" rake db:seed
RAILS_ENV="test" rake db:seed
我最喜歡的功能到目前爲止2.3.4
0
最常用的方法是有一個rake任務後運行部署到主機與空數據庫。
0
添加rake任務:如果您正在使用
# Add whatever fields you validate in user model
# for me only username and password
desc 'Add Admin: rake add_admin username=some_admin password=some_pass'
task :add_admin => :environment do
User.create!(:username=> ENV["username"], :password=> ENV["password"],:password_confirmation => ENV["password"])
end
6
> = 2.3.4的Rails的新特性包括一個DB/seeds.rb文件。這現在是用於種子數據的默認文件。
在那裏你可以簡單地使用你的模型,如User.create(:login=>"admin", :etc => :etc)
來創建你的數據。
使用這種方法,rake db:setup
也將按照rake db:seed
種子數據,如果您已經有數據庫。
在舊項目,我有時用一個固定的東西,如users.yml裏(remeber更改密碼直線距離):
admin:
id: 1
email: [email protected]
login: admin
crypted_password: a4a4e4809f0a285e76bb6b35f97c9323e912adca
salt: 7e8455432de1ab5f3fE0e724b1e71500a29ab5ca
created_at: <%= Time.now.to_s :db %>
updated_at: <%= Time.now.to_s :db %>
rake db:fixtures:load FIXTURES=users
終於還是因爲其他人說你有rake任務選項,希望有所幫助。
相關問題
- 1. 使用SQL數據庫預填充InfoPath
- 2. Android預填充數據庫
- 3. Rails Authlogic:使用數據庫ID登錄
- 4. 用數據預填充UITextView?
- 5. Android ORMLite,使用預先填充的數據庫並使用它
- 6. 使用Django預填充SQLite核心數據的數據庫
- 7. 使用預填充數據庫與核心數據
- 8. 使用數據庫數據填充圖
- 9. 使用數據庫數據填充jTable
- 10. Rails:使用development.sqlite3數據填充Heroku數據庫
- 11. Rails - 使用開發數據填充測試數據庫
- 12. Rails:使用數據填充模態
- 13. 預填充工具SQL CE數據庫
- 14. 預填充離子數據庫2
- 15. 使用Authlogic和Authlogic OAuth插件創建隱式用戶
- 16. 領域預填充數據庫
- 17. Android - 填充ListView使用預加載的數據庫
- 18. 如何在UWP中使用預填充的sqlite數據庫?
- 19. 在領域中使用預填充的數據庫
- 20. 如何在coredata上下文中使用預填充數據庫
- 21. 如何在qwebview中使用預填充的sqlite數據庫?
- 22. 如何在Ionic2中使用預填充的SQLite數據庫?
- 23. 如何使用數據庫中的值預先填充tokenput
- 24. 手動填充Rails數據庫
- 25. 使用Zend_Form填充數據庫選擇
- 26. 使用irb填充數據庫
- 27. 使用SQLite數據庫填充列表
- 28. 使用python腳本填充數據庫
- 29. 從數據庫使用javascript填充gridview
- 30. 使用ArrayList填充mysql數據庫行