Closed seanconnollydev closed 11 years ago
It looks like NHibernate requires a lot of configuration. I should evaluate Fluent NHibernate: https://github.com/jagregory/fluent-nhibernate/wiki/Getting-started
Fluent NHibernate looks reasonable enough. I also need to find a DB migration solution for deployments to prod. In dev, I think it is reasonable to build up and tear down the full DB locally.
It looks like NHibernate has a limited schema update feature. A few options are also listed here: http://stackoverflow.com/questions/933327/nhibernate-schemaupdate.
AppHarbor has a post on using NHibernate for automatic migrations: http://blog.appharbor.com/2012/06/11/automatic-migrations-with-nhibernate (Note they migrate on application start).
AppHarbor also has a post on using EF for automatic migrations: http://blog.appharbor.com/2012/04/24/automatic-migrations-with-entity-framework-4-3
Also consider Fluent Migrator: https://github.com/schambers/fluentmigrator
Go here to setup AppHarbor for SQL Server usage: http://support.appharbor.com/kb/add-ons/using-sequelizer
I wasn't able to test this since SQLite was not playing nicely with FluentNHibernate. I should try this against a local version of SQLExpress, which will more closely resemble AppHarbor's environment.
A few things remaining here:
Next step is to continue work on the Edit Keeper Settings page, using Who Can Help Me as an example for the model binding pattern that I want to try: https://github.com/jongeorge1/Who-Can-Help-Me/blob/master/Solutions/WhoCanHelpMe.Web.Controllers/Profile/ProfileController.cs
After that, I still want to put the analyzers behind an interface.
Another ViewModel -> Entity pattern is to use a builder interface: http://stackoverflow.com/questions/2206005/how-to-map-view-model-back-to-domain-model-in-a-post-action
I still need to wire up editing. There are some strange interactions between models and domain objects when viewing and editing settings, which is why it isn't working.
I also should look into the ignore list, because I think it ignores my packages folders, which I probably need to include. I think this is why my references to FluentNHibernate and MvcContrib broke.
Later, consider separating local unit testing database from web application.
Remaining:
Remaining:
Unit tests for new action methods Put analyzers behind an interface Look into ignore list Fix download eligible keeper issue (see TODO)
Remaining:
I think this is ready to merge, so remaining items are:
Reviewed, tested, and deployed.
This is a multipart story.
An authorized user must enter their league's keeper settings (since these are not available from Yahoo's API).
An authorized user can enter one or more players kept by each team from a prior season.
An authorized user can modify the player-keeper associations from a prior season.