Oh ok, that's good, I thought you were planning on using this functionality in the SchemaUpdate class <https://github.com/nhibernate/nhibernate-core/blob/master/src/NHibernate/Tool/hbm2ddl/SchemaUpdate.cs>. I actually think this functionality would be useful in that class as well, but opt-in, which is what I was referring to.
On Friday, July 11, 2014 3:21:18 PM UTC-6, Jeffrey Becker wrote: > > Yes, I fully agree that any migration behavior needs to be completely > opt-in. To be clear I'm not proposing to rewrite any of the current Sql > generation code. I proposed to implement this as a library *separate > library outside NHibernate* proper which implements a workflow with the > two-step process and customizable migration. All I'm asking for here is > some decorator methods on Dialect which provide the necessary chunks of sql > and flags to make stuff sql-flavor independent. > > For example, when altering column definitions: > Sql Server uses "Alter [Table] Alter [Column]...", Oracle uses"Alter > [Table] Modify [Column]", Firebird and SQLite don't support altering > columns. One of the commits in the pull request adds 2 properties to > Dialect, *SupportsAlterColumn* and *AlterColumnString* > > I'm sure the DDL generation functionality could be rewritten to use the > underlying model that a script is a series of operations which is in turn a > series of statements, but why bother? It seems to work but there aren't > unit tests around it now so I wouldn't feel safe proposing changes. > > The pull request is here: > https://github.com/nhibernate/nhibernate-core/pull/282 > > On Friday, July 11, 2014 4:46:11 PM UTC-4, Darren Kopp wrote: >> >> You need to make this behavior opt-in, otherwise people will upgrade and >> possibly lose data because something may not be referenced in the model >> anymore (or perhaps multiple types mapped to same table returning different >> things). Entity framework is a two-step process and you can customize the >> migration, which mitigates this issue, but schema migration is not >> customizable and thus should not have this behavior enabled by default. >> >> On Friday, July 11, 2014 8:33:01 AM UTC-6, Jeffrey Becker wrote: >>> >>> Ok, pull request is submitted. >> >> -- --- You received this message because you are subscribed to the Google Groups "nhibernate-development" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
