我們在Symfony 1.4和ORM Propel中創建了我們的項目。我們有兩個項目,一個是舊的,另一個是新的。我們的舊項目今年早些時候推出,並且存在許多問題,我們試圖創建一個新項目(使用新的域名和更好的功能)。 但我們有一些用戶使用舊網站的登錄信息(即SfGuard用戶)。 我們希望來自舊網站的用戶可以使用相同的登錄信息登錄到我們的新網站。 我們試圖通過將sfGuard用戶信息(從舊網站)轉儲到Fixtures並將其加載到我們的新網站。但它沒有工作。 有無論如何,我們可以做到這一點。作爲symfony中的sfguard用戶的備份
0
A
回答
1
我沒有太多的信息可以給出更準確的信息(你的意思是傾銷行不通,你使用的數據庫是什麼?)答案,但是根據你提供的數據,我的第一種方法是創建一個任務在使用兩個數據庫(新舊數據庫)的新項目中,跨越用戶在新數據庫中創建新用戶,並從舊數據庫中獲取信息。 爲此,請在您的database.yml中添加兩個數據庫,創建old_sfGuard_schema.yml並指定要使用的數據庫,並定義sfGuard類(類名應類似sfOldGuardUser,sfOldGuardCredential等等,以便不要與當前sfGuardClasses一起墜毀)。最後,你的代碼應該聽起來是這樣的:
public function execute([..])
{
foreach(sfOldGuardUsersPeer::doSelect(new Criteria()) as $old_user)
{
$new_user = new sfGuardUser();
$new_user->setUsername($old_user->getUsername());
[...]
foreach($old_user->getCredentials() as $old_user_credential)
{
[....]
}
$new_user->save();
}
}
注意這是一個僞代碼,它不會在symfony中運行,但你的代碼最終會看起來像這樣。
此外,還可以通過將有關用戶的數據庫信息轉儲到csv並創建某種由某些代碼生成的patch.sql來創建SQL修補程序,該代碼創建將舊用戶添加到新數據庫所需的所有查詢。有一次,將補丁應用到新的數據庫。
相關問題
- 1. Symfony寫入sfGuard表
- 2. Symfony sfGuard在特定用戶的配置文件中拉字段
- 3. 整合CAS和Symfony sfGuard?
- 4. SimpleDB作爲備份?
- 5. Symfony 1.4 sfguard插件相關表
- 6. 備份MySQL用戶
- 7. SQL Server中的備份用戶/登錄
- 8. 用戶的帳戶備份和恢復
- 9. 用sfGuard在Symfony中保護整個控制器?
- 10. 自定義sfGuard登錄重定向不工作在symfony
- 11. 使用sfGuard驗證用戶憑證
- 12. Symfony中的用戶帳戶?
- 13. 使用Elasticsearch作爲備份存儲
- 14. 使用AWS Glacier作爲備份
- 15. git - 使用分支作爲備份
- 16. 使用VisualSVN作爲遠程備份
- 17. 恢復沒有用戶的mysql備份
- 18. 在JTable中使用hibernate作爲大數據集的備份
- 19. 如何在Eclipse中備份用戶庫?
- 20. 在Symfony應用程序中通過php備份MySQL
- 21. Adb備份不起作用
- 22. MySql備份不起作用
- 23. MySQL備份不起作用
- 24. 備份數據庫是否需要登錄和用戶備份
- 25. Symfony的用戶此事件不運作
- 26. 如何在symfony 1.4中使用sfGuard插件編寫條件if for user privilege
- 27. 有沒有解釋sfGuard用戶註冊的手冊?
- 28. symfony sfGuard未知記錄屬性/相關組件「sf_guard_user」on「sfGuardUserProfile」
- 29. 亞馬遜S3作爲備份
- 30. 秒ms sql server作爲備份
我正在使用MySQL,並使用Propel,命令「Symfony propel:data-dump >> fixtures.yml」轉儲數據,並且每件事情都很好,但我無法登錄與舊的登錄信息。僅適用於SFGuard數據。 – 2011-06-15 13:33:01
@Harish_Kurup我會推薦任務方法 – guiman 2011-06-15 13:36:16
謝謝,我明白了。你搖滾! – 2011-06-16 05:24:30