From: jun xie Date: Thu, 26 Mar 2015 06:18:59 +0000 (+0800) Subject: Use 1/0 as booleans for DB2 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=bb9b0e01a4fe8df80c1917235252d721324828a5;p=openstack-build%2Fneutron-build.git Use 1/0 as booleans for DB2 DB2 stores booleans as 0 and 1. It does not recognize True/False. Change-Id: Idaba2fa5bba259e69a1f92c531c3389b3293cf75 Closes-Bug: #1436674 --- diff --git a/neutron/db/migration/alembic_migrations/versions/35a0f3365720_add_port_security_in_ml2.py b/neutron/db/migration/alembic_migrations/versions/35a0f3365720_add_port_security_in_ml2.py index 1b6bc60ac..82bd40324 100644 --- a/neutron/db/migration/alembic_migrations/versions/35a0f3365720_add_port_security_in_ml2.py +++ b/neutron/db/migration/alembic_migrations/versions/35a0f3365720_add_port_security_in_ml2.py @@ -29,12 +29,26 @@ from alembic import op def upgrade(): - op.execute('INSERT INTO networksecuritybindings (network_id, ' - 'port_security_enabled) SELECT id, True FROM networks ' - 'WHERE id NOT IN (SELECT network_id FROM ' - 'networksecuritybindings);') - - op.execute('INSERT INTO portsecuritybindings (port_id, ' - 'port_security_enabled) SELECT id, True FROM ports ' - 'WHERE id NOT IN (SELECT port_id FROM ' - 'portsecuritybindings);') + context = op.get_context() + + if context.bind.dialect.name == 'ibm_db_sa': + # NOTE(junxie): DB2 stores booleans as 0 and 1. + op.execute('INSERT INTO networksecuritybindings (network_id, ' + 'port_security_enabled) SELECT id, 1 FROM networks ' + 'WHERE id NOT IN (SELECT network_id FROM ' + 'networksecuritybindings);') + + op.execute('INSERT INTO portsecuritybindings (port_id, ' + 'port_security_enabled) SELECT id, 1 FROM ports ' + 'WHERE id NOT IN (SELECT port_id FROM ' + 'portsecuritybindings);') + else: + op.execute('INSERT INTO networksecuritybindings (network_id, ' + 'port_security_enabled) SELECT id, True FROM networks ' + 'WHERE id NOT IN (SELECT network_id FROM ' + 'networksecuritybindings);') + + op.execute('INSERT INTO portsecuritybindings (port_id, ' + 'port_security_enabled) SELECT id, True FROM ports ' + 'WHERE id NOT IN (SELECT port_id FROM ' + 'portsecuritybindings);')