Я использую перегонный куб для управления структурой моей базы данных.
После добавления таблицы с использованием идентификатора в качестве целого числа и первичного ключа столбец идентификатора будет столбцом с автоинкрементом. Как мне запросить данные в сценарии обновления, чтобы я был уверен, что получу правильный идентификатор (в данном конкретном случае я знаю, что это 1)?
я знаю как
#creating the table
op.create_table(
'srv_feed_return_type',
sa.Column('id', sa.Integer, primary_key=True),
sa.Column('name', sa.String(50), nullable=False),
sa.Column('created', sa.DateTime, server_default=func.now(), nullable=False),
sa.Column('created_by', sa.String(50), nullable=False),
sa.Column('last_updated', sa.DateTime, nullable=False),
sa.Column('last_updated_by', sa.String(50), nullable=False)
)
#table for operations
srv_feed_return_type = table('srv_feed_return_type',
column('name'),
column('created'),
column('created_by'),
column('last_updated'),
column('last_updated_by'))
#bulk insert
op.bulk_insert(srv_feed_return_type,
[
{'name': 'dataset',
'created': datetime.now(), 'created_by': 'Asken',
'last_updated': datetime.now(), 'last_updated_by': 'Asken'}
])
Я знаю, что могу выполнить обновление, но как мне сделать выбор, используя что-то подобное, как показано ниже?
op.execute(
srv_feed_return_type.update().\
where(srv_feed_return_type.c.name==op.inline_literal('dataset')).\
values({'name':op.inline_literal('somethingelse')})
)