[PonyORM-list] How to deal with schema change ?

stephane martin stef.martin at gmail.com
Sat Sep 6 23:50:27 UTC 2014

Thanks for your answer.

A migration tool would be definitely useful : without one, i need to
implement myself a migration framework to deal with schemas versions,
and that's not so easy to do the right way.


On Wed, Sep 3, 2014 at 11:17 PM, Alexey Malashkevich
<alexeymalashkevich at gmail.com> wrote:
> Hi Stephane!
> We are planning to add a migration tool, hopefully by the end of this year.
> With this tool one will be able to change their entity definition and then
> run
> python -m pony.migrate myentities.py
> and have the database updated automatically.
> But before this tool is ready, you need to prepare a script which updates
> your tables using ‘ALTER TABLE’ commands manually and then execute it
> against
> your database. You can create a separate program and use the db.execute()
> method for executing the script,
> see http://doc.ponyorm.com/database.html#Database.execute for details.
> In this program you don’t need to map your entities, just connect to your
> database and run a script which updates your tables.
> Basically, at the moment, the approach is the following: make changes to
> your entities definitions, update tables accordingly and then run the
> updated version of your application.
> After you have your entity definitions updated, you can get the script
> which Pony uses for tables creation using the
> `db.schema.generate_create_script()`
> method, and compare it with the previous one. This can help you to see what
> columns need to be updated.
> Regards,
> Alexey
> On Wed, Sep 3, 2014 at 1:14 PM, stephane martin <stef.martin at gmail.com>
> wrote:
>> Hello,
>> i googled a bit before, but cant find good ressource about it, so....
>> How am i supposed to deal with schema change ?
>> Let's say i develop an app. In v0.1, i design some database schema
>> with db.Entity. Everything works fine, users are happy, and the
>> database gets some data.
>> Then maybe i'll have a feature request, and I will have to add some
>> field to some Entity. Or maybe i will need to change some field type
>> from unicode to datetime, etc.
>> What is most correct approach to migrate my data to the new schema ?
>> Many thanks and kind regards,
>> Stephane
>> _______________________________________________
>> ponyorm-list mailing list
>> ponyorm-list at ponyorm.com
>> /ponyorm-list
> _______________________________________________
> ponyorm-list mailing list
> ponyorm-list at ponyorm.com
> /ponyorm-list

More information about the ponyorm-list mailing list