I've just been slammed recently.
The repo is up on my github at
https://github.com/jeffreyabecker/nhibernate-core. The commits are a bit of
a stream-of-consciousness mess at the moment.
The core ddl generation rewrite into the DdlOperation framework is in
there. Currently I've been playing around with encapsulating that stuff
into a Migration class but I'm not sure I'm happy about how that's going.
On Friday, August 22, 2014 9:55:02 AM UTC-4, Ricardo Peres wrote:
>
> Hi, Jeffrey!
>
> Need help with this? Do you have a public repository?
>
> RP
>
> On Sunday, August 3, 2014 5:00:28 PM UTC+1, Jeffrey Becker wrote:
>>
>> I'm almost done my infrastructure work & unit tests on the DDL generation
>> portion of NHibernate needed to support my proposed migrations feature. As
>> of now I've got an interface:
>>
>> public interface IDdlOperation
>> {
>> IEnumerable<string> GetStatements(NHibernate.Dialect.Dialect dialect);
>> }
>>
>> I've re-implemented the ddl generation in the Mapping namespace as a
>> series of implementations of this interface. Each of these classes accepts
>> a model which contains the relevant information for building the sql
>> statements. As much as possible database object names are passed to these
>> classes pre-qualified and pre-quoted. The relevant mapping classes have
>> been changed from implementing IRelationalModel to having methods that
>> produce one or more relevant IDdlOperation instances. The Configuration
>> class was updated to use these methods.
>>
>>
>> While I finish out the unit tests and get it all staged into a coherent
>> set of commits for a pull request I'd like some feedback on the following
>> topics:
>>
>> Currently the Configuration/Mapping classes quote and qualify objects
>> using the dialect methods which results in dialect specific quoting. I
>> this does not present a problem in the existing system because analysis
>> always happens at the same time as execution and the target dialect is
>> known. In a world with coded migrations a migration could be generated
>> against a one dialect and executed against another with incompatible
>> quoting. Should these methods be changed to quote and qualify using
>> back-tick quoting and the operations be changed to mangle those quotes into
>> dialect specific quoting?
>>
>> Where is the dividing line between NHibernate and non-core Migrations
>> features if any? I see this framework eventually containing components such
>> as versioning strategies, a fluent migration building DSL, a migration
>> execution framework, and a component which generates/executes coded
>> migrations within the package manager console. At a minimum that 3rd piece
>> needs to be a separate assembly because of its dependency on visual studio.
>> How to people feel about the rest? Should I aim to include some / all of
>> that within Nhibernate or split it out into a separate assembly?
>>
>> How do people feel about a fluent DSL for building the coded migrations?
>> How do we make this into something which is both expressive enough for
>> people to write a migration themselves and flexible enough that they don't
>> have to resort to issuing raw sql for everything?
>>
>>
--
---
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.