From: <ric...@us...> - 2011-07-24 12:54:28
|
Revision: 5993 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5993&view=rev Author: ricbrown Date: 2011-07-24 12:54:22 +0000 (Sun, 24 Jul 2011) Log Message: ----------- Added DB creation for Oracle. Modified Paths: -------------- trunk/nhibernate/src/NHibernate.TestDatabaseSetup/TestDatabaseSetup.cs Modified: trunk/nhibernate/src/NHibernate.TestDatabaseSetup/TestDatabaseSetup.cs =================================================================== --- trunk/nhibernate/src/NHibernate.TestDatabaseSetup/TestDatabaseSetup.cs 2011-07-23 20:10:24 UTC (rev 5992) +++ trunk/nhibernate/src/NHibernate.TestDatabaseSetup/TestDatabaseSetup.cs 2011-07-24 12:54:22 UTC (rev 5993) @@ -3,6 +3,7 @@ using System.Data.SqlClient; using System.IO; using FirebirdSql.Data.FirebirdClient; +using NHibernate.Cfg; using Npgsql; using NUnit.Framework; @@ -129,7 +130,33 @@ private static void SetupOracle(Cfg.Configuration cfg) { - // not done (yet) - current setup is manual + var connStr = + cfg.Properties[Cfg.Environment.ConnectionString] + .Replace("User ID=nhibernate", "User ID=SYSTEM") + .Replace("Password=nhibernate", "Password=password"); + + cfg.DataBaseIntegration(db => + { + db.ConnectionString = connStr; + db.Dialect<NHibernate.Dialect.Oracle10gDialect>(); + db.KeywordsAutoImport = Hbm2DDLKeyWords.None; + }); + + using (var sf = cfg.BuildSessionFactory()) + { + try + { + using(var s = sf.OpenSession()) + s.CreateSQLQuery("drop user nhibernate cascade").ExecuteUpdate(); + } + catch {} + + using (var s = sf.OpenSession()) + { + s.CreateSQLQuery("create user nhibernate identified by nhibernate").ExecuteUpdate(); + s.CreateSQLQuery("grant dba to nhibernate with admin option").ExecuteUpdate(); + } + } } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |