我一直在使用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. Coredata數據庫預填充未填充
- 3. Rails Authlogic:使用數據庫ID登錄
- 4. Android預填充數據庫
- 5. 預填充數據庫
- 6. 用數據預填充UITextView?
- 7. Android ORMLite,使用預先填充的數據庫並使用它
- 8. 使用預填充數據庫與核心數據
- 9. 使用Django預填充SQLite核心數據的數據庫
- 10. Android - 預填充數據庫,插入還是預加載?
- 11. 使用數據庫數據填充jTable
- 12. 使用數據庫數據填充圖
- 13. 使用外部API請求數據填充rails數據庫
- 14. Rails - 使用開發數據填充測試數據庫
- 15. Rails:使用development.sqlite3數據填充Heroku數據庫
- 16. 使用django上傳文件的元數據填充模型admin
- 17. (Rails + Devise)將數據插入數據庫並填充密碼
- 18. 在Phonegap iOS應用程序中使用預填充數據庫
- 19. 使用Authlogic和Authlogic OAuth插件創建隱式用戶
- 20. Rails:使用數據填充模態
- 21. 預填充離子數據庫2
- 22. 預填充工具SQL CE數據庫
- 23. 預先填充的Sqlite數據庫
- 24. 刪除預填充的數據庫
- 25. 如何預先填充sqlite數據庫?
- 26. Android中的預填充數據庫
- 27. 使用onUpgrade更新我的預填充SQLite數據庫()
- 28. 在phonegap中使用預填充的sqlite數據庫android
- 29. 如何使用數據庫中的值預先填充tokenput
- 30. Android - 填充ListView使用預加載的數據庫