我们知道,Magento中的resource model专司数据存取之职,而且resource model只支持MySQL RDBMS(关系数据库管理系统)。Magento自从归顺ebay后,有大把银子支持,更加雄心勃勃,单单支持Mysql这种小型数据库,可能感到不够过瘾,于是在Magento1.6中插了个引线,即:把resource model中的Mysql4标签替换为Resource。为了保证插件的兼容性,以前的这些Mysql4类仍然保留,但已沦为空壳,继承自新的Resource类。
例如:Magento1.5中Whishlist的resource model为:
class Mage_Wishlist_Model_Mysql4_Wishlist extends Mage_Core_Model_Mysql4_Abstract
{
protected $_itemsCount = null;
protected $_customerIdFieldName = 'customer_id';
// ...
}
而Magento1.6中Whishlist的resource model已经改变为:
class Mage_Wishlist_Model_Resource_Wishlist extends Mage_Core_Model_Resource_Db_Abstract
{
protected $_itemsCount = null;
protected $_customerIdFieldName = 'customer_id';
// ...
}
Magento1.6中还苟延残喘着的Mage_Wishlist_Model_Mysql4_Wishlist,已沦为空壳。如下:
class Mage_Wishlist_Model_Mysql4_Wishlist extends Mage_Wishlist_Model_Resource_Wishlist
{
}
Magento中多RDBMS的完全支持,还有待时日,现在能做的事情只有一个:猜猜下一个Magento率先支持的数据库将是Oracle/MS SQL Server/IBM DB2/PostgreSQL/Nothing...?
0 个评论
702 次阅读