> On Jan. 22, 2014, 1:14 a.m., Paul Belanger wrote:
> > branches/12/contrib/ast-db-manage/config/versions/2fc7930b41b3_add_pjsip_endpoint_options_for_12_1.py,
> >  line 1
> > <https://reviewboard.asterisk.org/r/3148/diff/1/?file=53005#file53005line1>
> >
> >     You should be creating new alembic scripts not modifying committed 
> > ones. 
> >     
> >     This is going to breaks peoples systems that have already invoked the 
> > scripts.
> 
> Russell Bryant wrote:
>     right.  each script should stay unmodified.  any db schema changes should 
> be a new script, which is a migration from the old schema to the updated one. 
>  That way at each release, people can re-run alembic to apply all of the 
> updates since the version of the schema they currently have.
> 
> Kevin Harwell wrote:
>     Correct and usually we would do just as mentioned.  In this case though 
> the modified script has not been released (will be in 12.1).  Once released 
> then it will stay unmodified and changes will go into a new script.
> 
> Paul Belanger wrote:
>     Well, the issue being you break peoples system that run the TIP of 
> /branches/12, which you cannot control who as run the script.  So, the ideal 
> way to handle it, is just leave the file as is and run 'alembic revision -m 
> 'enable pjsip debug'.  This creates[1] fresh alembic scripts which you can 
> move this code into, then you just build the upgrade / downgrade logic around 
> it.
>     
>     Once the script has been committed to subversion, you have to assume 
> somebody has run it, modifying it after the fact breaks these systems.
>     
>     [1] 
> http://alembic.readthedocs.org/en/latest/tutorial.html#running-our-second-migration
> 
> Kevin Harwell wrote:
>     Agreed, and that is how I originally started out when addressing the 
> addition of the "debug" option and would have done just that except 
> unfortunately the "...options_for_12_1" script would fail as it was.  It was 
> trying to add a column to a table that didn't exist.  It also had a problem 
> with previously created enums when running against postgres.
>     
>     Since the script contains bugs it had to be modified and since it hasn't 
> been officially released it made it easier to do so for this case.

so, if that is the case, you need to create a branch in alembic[1] to deal with 
the migration path.  If a user had run this migration, and they were at the 
latest changeset, the instructions would be to downgrade the script, reverting 
the database change.  This gets the users back to a sane configuration.

We can then create a new path upgrade for the database, allow the user to 
select this new path.  More complicated, but doesn't leave people with broken 
databases.

[1] http://alembic.readthedocs.org/en/latest/tutorial.html#working-with-branches


- Paul


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/3148/#review10653
-----------------------------------------------------------


On Jan. 21, 2014, 11:01 p.m., Kevin Harwell wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/3148/
> -----------------------------------------------------------
> 
> (Updated Jan. 21, 2014, 11:01 p.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Bugs: ASTERISK-23038
>     https://issues.asterisk.org/jira/browse/ASTERISK-23038
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> Added a "debug" configuration option for res_pjsip that when set to "yes" 
> enables SIP messages to be logged.  It is specified under the "system" type.
> 
> Also updated the alembic 12.1 script to include this option as well as a few 
> others that were missing.  Also updated the "_adding_extensions" script in 
> order to make the "id" column on the table a primary key because mysql needed 
> it to be as such.
> 
> 
> Diffs
> -----
> 
>   branches/12/res/res_pjsip_logger.c 405906 
>   branches/12/res/res_pjsip/config_system.c 405906 
>   branches/12/res/res_pjsip.c 405906 
>   branches/12/include/asterisk/res_pjsip.h 405906 
>   
> branches/12/contrib/ast-db-manage/config/versions/581a4264e537_adding_extensions.py
>  405906 
>   
> branches/12/contrib/ast-db-manage/config/versions/2fc7930b41b3_add_pjsip_endpoint_options_for_12_1.py
>  405906 
>   branches/12/configs/pjsip.conf.sample 405906 
> 
> Diff: https://reviewboard.asterisk.org/r/3148/diff/
> 
> 
> Testing
> -------
> 
> Set the "debug" option in the pjsip.conf file and observed SIP debug messages 
> on the console.  Also, tested the modified alembic scripts against postgres 
> and mysql database servers.
> 
> 
> Thanks,
> 
> Kevin Harwell
> 
>

-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to