sbarre / eloquent-versioned

Add transparent versioning to Laravel 5's Eloquent ORM
MIT License
30 stars 11 forks source link

Support non-auto-incrementing models #9

Open EspadaV8 opened 9 years ago

EspadaV8 commented 9 years ago

This is a pull request for #8

There's a new model 'Foo' that uses UUIDs instead of an auto-incrementing integer column as its primary key. The few changes that need to be made a to make sure that the Laravel model events that a model has set up get fired when being created.

The addition of orchestra/testbench is to help with that (without it there's no dispatcher for the models). In the NonIncrementingVersionedTest file, the events need to be reset every for every test due to what seems like a bug in laravel/framework#1181.

The final change in Versioned is due to the testing and needing to be able to set a fixed model_id when creating a model that uses UUIDs. If one has been passed in when creating then it doesn't attempt to get a new model_id.