From: <ric...@us...> - 2009-09-08 13:15:42
|
Revision: 4710 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4710&view=rev Author: ricbrown Date: 2009-09-08 13:15:32 +0000 (Tue, 08 Sep 2009) Log Message: ----------- Merge r4709 (Fix NH-1926) Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Tool/hbm2ddl/DatabaseMetadata.cs trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaUpdate/MigrationFixture.cs Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaUpdate/1_Person.hbm.xml trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaUpdate/2_Person.hbm.xml trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaUpdate/Person.cs Modified: trunk/nhibernate/src/NHibernate/Tool/hbm2ddl/DatabaseMetadata.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Tool/hbm2ddl/DatabaseMetadata.cs 2009-09-08 13:13:49 UTC (rev 4709) +++ trunk/nhibernate/src/NHibernate/Tool/hbm2ddl/DatabaseMetadata.cs 2009-09-08 13:15:32 UTC (rev 4710) @@ -117,7 +117,7 @@ using (IDataReader rs = statement.ExecuteReader()) { while (rs.Read()) - sequences.Add(((string) rs[1]).ToLower().Trim()); + sequences.Add(((string) rs[0]).ToLower().Trim()); } } } Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-09-08 13:13:49 UTC (rev 4709) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-09-08 13:15:32 UTC (rev 4710) @@ -1257,6 +1257,7 @@ <Compile Include="Tools\hbm2ddl\SchemaMetadataUpdaterTest\HeavyEntity.cs" /> <Compile Include="Tools\hbm2ddl\SchemaMetadataUpdaterTest\SchemaMetadataUpdaterFixture.cs" /> <Compile Include="Tools\hbm2ddl\SchemaUpdate\MigrationFixture.cs" /> + <Compile Include="Tools\hbm2ddl\SchemaUpdate\Person.cs" /> <Compile Include="Tools\hbm2ddl\SchemaUpdate\Version.cs" /> <Compile Include="SecondLevelCacheTest\AnotherItem.cs" /> <Compile Include="SecondLevelCacheTest\Item.cs" /> @@ -2005,6 +2006,8 @@ <EmbeddedResource Include="Criteria\Lambda\Mappings.hbm.xml" /> <EmbeddedResource Include="CfgTest\Loquacious\EntityToCache.hbm.xml" /> <Content Include="DynamicEntity\package.html" /> + <EmbeddedResource Include="Tools\hbm2ddl\SchemaUpdate\1_Person.hbm.xml" /> + <EmbeddedResource Include="Tools\hbm2ddl\SchemaUpdate\2_Person.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH1938\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH1905\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH1939\Mappings.hbm.xml" /> Added: trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaUpdate/1_Person.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaUpdate/1_Person.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaUpdate/1_Person.hbm.xml 2009-09-08 13:15:32 UTC (rev 4710) @@ -0,0 +1,13 @@ +<?xml version="1.0"?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" + namespace="NHibernate.Test.Tools.hbm2ddl.SchemaUpdate" + assembly="NHibernate.Test"> + + <class name="Person"> + <id name="Id"> + <generator class="native"/> + </id> + <property name="Name"/> + </class> + +</hibernate-mapping> \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaUpdate/2_Person.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaUpdate/2_Person.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaUpdate/2_Person.hbm.xml 2009-09-08 13:15:32 UTC (rev 4710) @@ -0,0 +1,14 @@ +<?xml version="1.0"?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" + namespace="NHibernate.Test.Tools.hbm2ddl.SchemaUpdate" + assembly="NHibernate.Test"> + + <class name="Person"> + <id name="Id"> + <generator class="native"/> + </id> + <property name="FirstName"/> + <property name="LastName"/> + </class> + +</hibernate-mapping> Modified: trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaUpdate/MigrationFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaUpdate/MigrationFixture.cs 2009-09-08 13:13:49 UTC (rev 4709) +++ trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaUpdate/MigrationFixture.cs 2009-09-08 13:15:32 UTC (rev 4710) @@ -10,12 +10,9 @@ [TestFixture] public class MigrationFixture { - [Test] - public void SimpleColumnAddition() + + private void MigrateSchema(string resource1, string resource2) { - String resource2 = "NHibernate.Test.Tools.hbm2ddl.SchemaUpdate.2_Version.hbm.xml"; - String resource1 = "NHibernate.Test.Tools.hbm2ddl.SchemaUpdate.1_Version.hbm.xml"; - Configuration v1cfg = TestConfigurationHelper.GetDefaultConfiguration(); using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resource1)) v1cfg.AddInputStream(stream); @@ -24,16 +21,40 @@ Tool.hbm2ddl.SchemaUpdate v1schemaUpdate = new Tool.hbm2ddl.SchemaUpdate(v1cfg); v1schemaUpdate.Execute(true, true); + foreach (Exception e in v1schemaUpdate.Exceptions) + Console.WriteLine(e); + Assert.AreEqual(0, v1schemaUpdate.Exceptions.Count); Configuration v2cfg = TestConfigurationHelper.GetDefaultConfiguration(); using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resource2)) v2cfg.AddInputStream(stream); - Tool.hbm2ddl.SchemaUpdate v2schemaUpdate = new Tool.hbm2ddl.SchemaUpdate(v2cfg); v2schemaUpdate.Execute(true, true); + + foreach (Exception e in v2schemaUpdate.Exceptions) + Console.WriteLine(e); + Assert.AreEqual(0, v2schemaUpdate.Exceptions.Count); } + + [Test] + public void SimpleColumnAddition() + { + String resource2 = "NHibernate.Test.Tools.hbm2ddl.SchemaUpdate.2_Version.hbm.xml"; + String resource1 = "NHibernate.Test.Tools.hbm2ddl.SchemaUpdate.1_Version.hbm.xml"; + + MigrateSchema(resource1, resource2); + } + + [Test] + public void SimpleColumnReplace() + { + String resource2 = "NHibernate.Test.Tools.hbm2ddl.SchemaUpdate.2_Person.hbm.xml"; + String resource1 = "NHibernate.Test.Tools.hbm2ddl.SchemaUpdate.1_Person.hbm.xml"; + + MigrateSchema(resource1, resource2); + } } } \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaUpdate/Person.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaUpdate/Person.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaUpdate/Person.cs 2009-09-08 13:15:32 UTC (rev 4710) @@ -0,0 +1,10 @@ +namespace NHibernate.Test.Tools.hbm2ddl.SchemaUpdate +{ + public class Person + { + public virtual int Id { get; set; } + public virtual string Name { get; set; } + public virtual string FirstName { get; set; } + public virtual string LastName { get; set; } + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |