Castle ActiveRcord 升级及数据库迁移
2010-04-04 10:00
246 查看
Castle ActiveRecord 已经发布了最新的2.1版本,同时也支持了更多的数据库和修正了很多的Bug,目前项目里使用的却还是最早的1.0版本,在数据库迁移时遇到了问题,比如从MSSqlServer 迁移到SqLite 时,1.0版本就不支持,让我好不痛苦。因此,下载了2.1版本,测试,却得到很多莫名其妙的问题,为移植工作增加了不少的难度,此过程曾一度怀疑选择AR是否是一个正确的选择,经过了一段失败的尝试,终于有了结果。记录如下:
1、配置的改变
原配置:
代码properties.Add("proxyfactory.factory_class", "NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle");
properties.Add("connection.driver_class", "NHibernate.Driver.SqlClientDriver");
properties.Add("dialect", "NHibernate.Dialect.MsSql2005Dialect");
properties.Add("connection.provider", "NHibernate.Connection.DriverConnectionProvider");
properties.Add("connection.connection_string", "Data Source=.;Initial Catalog=DataBaseName;Integrated Security=SSPI");
新的配置方法的改变:1是取消了“hibernate”的前缀,2是增加了“proxyfactory”的设置。
2.如果是从SqlServer 迁移到 PostgreSQL时,可能遇到:不支持自动增长ID列的异常,原因如下:
PostgreSQL有好多版本,不同版本要使用不的 “方言”,PostgreSQL方言有以下几种:
PostgreSQLDialect
PostgreSQL81Dialect
PostgreSQL82Dialect
我使用的数据库是8.4的,在 PostgreSQL82Dialect 一切OK。
另外,Castle AR在nHibernate基础上支持根据领域模型创建数据表的工作方式给我的工作带来便利,但目前还不支持增量更新,一想到这里就有点怀念XPO,希望nHibernate小组继续努力,让我等也能乘势而上。
1、配置的改变
原配置:
代码properties.Add("proxyfactory.factory_class", "NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle");
properties.Add("connection.driver_class", "NHibernate.Driver.SqlClientDriver");
properties.Add("dialect", "NHibernate.Dialect.MsSql2005Dialect");
properties.Add("connection.provider", "NHibernate.Connection.DriverConnectionProvider");
properties.Add("connection.connection_string", "Data Source=.;Initial Catalog=DataBaseName;Integrated Security=SSPI");
新的配置方法的改变:1是取消了“hibernate”的前缀,2是增加了“proxyfactory”的设置。
2.如果是从SqlServer 迁移到 PostgreSQL时,可能遇到:不支持自动增长ID列的异常,原因如下:
PostgreSQL有好多版本,不同版本要使用不的 “方言”,PostgreSQL方言有以下几种:
PostgreSQLDialect
PostgreSQL81Dialect
PostgreSQL82Dialect
我使用的数据库是8.4的,在 PostgreSQL82Dialect 一切OK。
另外,Castle AR在nHibernate基础上支持根据领域模型创建数据表的工作方式给我的工作带来便利,但目前还不支持增量更新,一想到这里就有点怀念XPO,希望nHibernate小组继续努力,让我等也能乘势而上。
相关文章推荐
- 数据迁移:数据库软件升级10.2.0.4到10.2.0.5
- 使用south实现Django的数据库升级迁移
- sql服务器的操作系统升级,数据库如何来迁移呢?
- sqlite升级--浅谈Android数据库版本升级及数据的迁移
- greendao数据库升级(数据库表的迁移)
- TestDirector数据库迁移+升级
- Android 数据库综述(一) 数据库片的升级与数据的迁移操作
- 通过RMAN迁移数据并升级数据库10.2.0.3->11.2.0.3【相同位数与平台版】
- App升级时数据库的迁移更新
- iOS-App版本升级时数据库的迁移更新
- 浅谈Android数据库版本升级及数据的迁移
- iOS CoreData (二) 版本升级和数据库迁移
- CoreData(数据库升级 )版本迁移-iOS App升级安装
- Android 版本升级涉及到的数据库数据迁移问题
- 数据库(升级)迁移
- CoreData(数据库升级 )版本迁移-iOS App升级安装
- 数据库迁移+升级
- CoreData(数据库升级 )版本迁移-iOS App升级安装
- (转)iOS App初始化或者升级,涉及本地数据库迁移的问题
- Harbor升级和数据库迁移手册