>  I have no idea how anyone who has more than just a single production 
> database could use a db first approach.

Why would using multiple schemas be any different? I usually partition models 
by schema, but doing a reverse-engineering from more than one is not a problem.

What I never understood with ORM-based migrations is how do you migrate your 
*data* or describe more advanced DB artifacts, like indexes? Do ERXMigration 
and the cayenne-migrations frameworks below address that in some way?

(Of course a big argument *against* DB-first is schemas that don't follow 
naming conventions).

Andrus



> On Aug 14, 2018, at 12:59 PM, Maik Musall <m...@selbstdenker.ag> wrote:
> 
> As I don’t like and use the DB-first approach [1], I use cayenne-migrations 
> for this. It works a lot like ERXMigration in WOnder.
> 
> https://github.com/hugith/cayenne-migrations 
> <https://github.com/hugith/cayenne-migrations>
> 
> (original: https://github.com/johnthuss/cayenne-migrations 
> <https://github.com/johnthuss/cayenne-migrations> but outdated)
> 
> Maik
> 
> [1] We make changes to the application, including model changes, which then 
> go into staging, and eventually end up in production. Staging and dev 
> databases are replaced by fresh copies of the production database every week. 
> So code and model are first, and also the model may differ between branches 
> as we develop several features in parallel. I have no idea how anyone who has 
> more than just a single production database could use a db first approach.
> 
>> Am 14.08.2018 um 09:36 schrieb Andrus Adamchik <and...@objectstyle.org>:
>> 
>> The modeler migrate schema functionality is not sophisticated enough for 
>> production workflows. So I suggest Liquibase for migrations and DB-first 
>> approach to ORM.
>> 
>> Andrus
>> 
>> 
>>> On Aug 14, 2018, at 12:07 AM, Tony Giaccone <t...@giaccone.org> wrote:
>>> 
>>> I've made some changes to the schema on a project I'm working on. I
>>> selected Migrate Schema, and worked through the Wizard and in the end it
>>> wants to drop tables.  Some of my tables are rather large, and recreating
>>> them would be... painful.  Is there a way to find the diffs that the model
>>> identified, as opposed to the drop table that it suggested?
>>> 
>>> Any suggestions?  I can of course figure out the differences by hand the
>>> number of tables is small, only 5.. but I'd like to understand how the
>>> modeler decides what path to take when it sees diffs.
>>> 
>>> 
>>> Tony
>> 
> 

Reply via email to