diff --git a/uffd/migrations/versions/f2eb2c52a61f_add_serviceuser.py b/uffd/migrations/versions/f2eb2c52a61f_add_serviceuser.py index 2440efa28d126299ff017ac1dcc832c0d71b2020..2ee336c5f4c13a5489c415aeb9e28cc0176df8f2 100644 --- a/uffd/migrations/versions/f2eb2c52a61f_add_serviceuser.py +++ b/uffd/migrations/versions/f2eb2c52a61f_add_serviceuser.py @@ -23,7 +23,10 @@ def upgrade(): ) service = sa.table('service', sa.column('id')) user = sa.table('user', sa.column('id')) - op.execute(service_user.insert().from_select(['service_id', 'user_id'], sa.select([service.c.id, user.c.id]))) + op.execute(service_user.insert().from_select( + ['service_id', 'user_id'], + sa.select([service.c.id, user.c.id]).select_from(sa.join(service, user, sa.true())) + )) def downgrade(): op.drop_table('service_user') diff --git a/uffd/models/service.py b/uffd/models/service.py index 7aa928d429b50ddf4b7facd2c50c9cec8ff8e111..1bed5cfc4aa37a8ab473e739d3a79d68027c4760 100644 --- a/uffd/models/service.py +++ b/uffd/models/service.py @@ -178,7 +178,7 @@ def create_service_users(session, flush_context): # pylint: disable=unused-argum return db.session.execute(db.insert(ServiceUser).from_select( ['service_id', 'user_id'], - db.select([Service.id, User.id]).where(db.or_( + db.select([Service.id, User.id]).select_from(db.join(Service, User, db.true())).where(db.or_( Service.id.in_(new_service_ids), User.id.in_(new_user_ids), )) @@ -193,7 +193,7 @@ def create_missing_service_users(): # pylint: disable=no-member db.session.execute(db.insert(ServiceUser).from_select( ['service_id', 'user_id'], - db.select([Service.id, User.id]).where(db.not_( + db.select([Service.id, User.id]).select_from(db.join(Service, User, db.true())).where(db.not_( ServiceUser.query.filter( ServiceUser.service_id == Service.id, ServiceUser.user_id == User.id