本文整理匯總了Python中sqlalchemy.schema.Sequence方法的典型用法代碼示例。如果您正苦於以下問題:Python schema.Sequence方法的具體用法?Python schema.Sequence怎麽用?Python schema.Sequence使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類sqlalchemy.schema
的用法示例。
在下文中一共展示了schema.Sequence方法的14個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: upgrade
# 需要導入模塊: from sqlalchemy import schema [as 別名]
# 或者: from sqlalchemy.schema import Sequence [as 別名]
def upgrade():
try:
try:
create_seq(Sequence('policycondition_seq'))
except Exception as _e:
pass
op.create_table('policycondition',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('policy_id', sa.Integer(), nullable=False),
sa.Column('section', sa.Unicode(length=255), nullable=False),
sa.Column('Key', sa.Unicode(length=255), nullable=False),
sa.Column('comparator', sa.Unicode(length=255), nullable=False),
sa.Column('Value', sa.Unicode(length=2000), nullable=False),
sa.Column('active', sa.Boolean(), nullable=False),
sa.ForeignKeyConstraint(['policy_id'], ['policy.id'], ),
sa.PrimaryKeyConstraint('id'),
mysql_row_format='DYNAMIC'
)
except Exception as exx:
print("Could not create table policycondition: {!r}".format(exx))
try:
op.drop_column('policy', 'condition')
except Exception as exx:
print("Could not drop column policy.condition: {!r}".format(exx))
示例2: test_schema_translate_map_sequence
# 需要導入模塊: from sqlalchemy import schema [as 別名]
# 或者: from sqlalchemy.schema import Sequence [as 別名]
def test_schema_translate_map_sequence(self):
s1 = schema.Sequence("s1")
s2 = schema.Sequence("s2", schema="foo")
s3 = schema.Sequence("s3", schema="bar")
schema_translate_map = {None: "z", "bar": None, "foo": "bat"}
self.assert_compile(
schema.CreateSequence(s1),
"CREATE SEQUENCE [SCHEMA__none].s1 START WITH 1",
schema_translate_map=schema_translate_map,
)
self.assert_compile(
schema.CreateSequence(s2),
"CREATE SEQUENCE [SCHEMA_foo].s2 START WITH 1",
schema_translate_map=schema_translate_map,
)
self.assert_compile(
schema.CreateSequence(s3),
"CREATE SEQUENCE [SCHEMA_bar].s3 START WITH 1",
schema_translate_map=schema_translate_map,
)
示例3: upgrade
# 需要導入模塊: from sqlalchemy import schema [as 別名]
# 或者: from sqlalchemy.schema import Sequence [as 別名]
def upgrade():
op.execute(CreateSequence(Sequence("task_id_sequence")))
op.execute(CreateSequence(Sequence("taskset_id_sequence")))
示例4: downgrade
# 需要導入模塊: from sqlalchemy import schema [as 別名]
# 或者: from sqlalchemy.schema import Sequence [as 別名]
def downgrade():
op.execute(DropSequence(Sequence("task_id_sequence")))
op.execute(DropSequence(Sequence("taskset_id_sequence")))
示例5: get_column_specification
# 需要導入模塊: from sqlalchemy import schema [as 別名]
# 或者: from sqlalchemy.schema import Sequence [as 別名]
def get_column_specification(self, column, **kwargs):
colspec = self.preparer.format_column(column) + " " + \
self.dialect.type_compiler.process(
column.type, type_expression=column)
if column.table is None:
raise exc.CompileError(
"The Sybase dialect requires Table-bound "
"columns in order to generate DDL")
seq_col = column.table._autoincrement_column
# install a IDENTITY Sequence if we have an implicit IDENTITY column
if seq_col is column:
sequence = isinstance(column.default, sa_schema.Sequence) \
and column.default
if sequence:
start, increment = sequence.start or 1, \
sequence.increment or 1
else:
start, increment = 1, 1
if (start, increment) == (1, 1):
colspec += " IDENTITY"
else:
# TODO: need correct syntax for this
colspec += " IDENTITY(%s,%s)" % (start, increment)
else:
default = self.get_column_default_string(column)
if default is not None:
colspec += " DEFAULT " + default
if column.nullable is not None:
if not column.nullable or column.primary_key:
colspec += " NOT NULL"
else:
colspec += " NULL"
return colspec
示例6: upgrade
# 需要導入模塊: from sqlalchemy import schema [as 別名]
# 或者: from sqlalchemy.schema import Sequence [as 別名]
def upgrade():
# Create an auto-increment sequence for cards.id
conn = alembic.context.get_context().bind
meta = sqlalchemy.MetaData(bind=conn)
meta.reflect()
cards = meta.tables['cards']
# This table already has a (not-previously-used) auto-increment sequence in
# the production DB, but new DBs created from scratch via the alembic setup
# won't have it, so check if it already exists and create if it's missing
# to bring everything back into sync
if not cards.c.id.server_default or 'cards_id_seq' not in cards.c.id.server_default.arg.text:
maxid, = conn.execute(sqlalchemy.select([sqlalchemy.func.max(cards.c.id)])).first()
if maxid is None:
maxid = 0
alembic.op.execute(CreateSequence(Sequence('cards_id_seq', start=maxid + 1)))
alembic.op.alter_column("cards", "id", nullable=False, server_default=sqlalchemy.text("nextval('cards_id_seq'::regclass)"))
# Add cards.game column
# create it with a default but then remove the default, to set the value on
# all existing rows, but have the column mandatory in the future
alembic.op.drop_index("cards_name_idx")
alembic.op.add_column('cards',
sqlalchemy.Column('game', sqlalchemy.Integer, nullable=False, server_default='1')
)
alembic.op.alter_column("cards", "game", server_default=None)
alembic.op.create_index("cards_name_idx", "cards", ["game", "filteredname"], unique=True)
示例7: downgrade
# 需要導入模塊: from sqlalchemy import schema [as 別名]
# 或者: from sqlalchemy.schema import Sequence [as 別名]
def downgrade():
# Remove any non-MTG cards from the DB, and them drop game column
alembic.op.execute("""
DELETE FROM cards
WHERE game != 1
""")
alembic.op.drop_index("cards_name_idx")
alembic.op.drop_column('cards', 'game')
alembic.op.create_index("cards_name_idx", "cards", ["filteredname"], unique=True)
# Remove auto-increment sequence from cards.id
alembic.op.alter_column("cards", "id", server_default=None)
alembic.op.execute(DropSequence(Sequence('cards_id_seq')))
示例8: __init__
# 需要導入模塊: from sqlalchemy import schema [as 別名]
# 或者: from sqlalchemy.schema import Sequence [as 別名]
def __init__(self, *args, **kwargs):
"""Initialize the column
:param label: label of this field
:type label: str
"""
self.forbid_instance(Column)
assert self.sqlalchemy_type
self.sequence = None
if 'type_' in kwargs:
del kwargs['type_']
if 'foreign_key' in kwargs:
self.foreign_key = ModelAttributeAdapter(kwargs.pop('foreign_key'))
if 'sequence' in kwargs:
self.sequence = SA_Sequence(kwargs.pop('sequence'))
self.db_column_name = None
if 'db_column_name' in kwargs:
self.db_column_name = kwargs.pop('db_column_name')
self.default_val = NoDefaultValue
if 'default' in kwargs:
self.default_val = kwargs.pop('default')
self.encrypt_key = kwargs.pop('encrypt_key', None)
super(Column, self).__init__(*args, **kwargs)
示例9: downgrade
# 需要導入模塊: from sqlalchemy import schema [as 別名]
# 或者: from sqlalchemy.schema import Sequence [as 別名]
def downgrade():
# Create new column 'id' and autoincrement its value
op.execute(CreateSequence(Sequence("carbonmonoxide_id_seq")))
op.add_column('carbonmonoxide', sa.Column(
'id', sa.INTEGER(), nullable=False,
server_default=sa.text("nextval('carbonmonoxide_id_seq'::regclass)")))
# Use 'id' as the new primary key
op.create_primary_key('carbonmonoxide_pkey', 'carbonmonoxide', ['id'])
示例10: get_column_specification
# 需要導入模塊: from sqlalchemy import schema [as 別名]
# 或者: from sqlalchemy.schema import Sequence [as 別名]
def get_column_specification(self, column, **kwargs):
colspec = self.preparer.format_column(column) + " " + \
self.dialect.type_compiler.process(column.type)
if column.table is None:
raise exc.CompileError(
"The Sybase dialect requires Table-bound "
"columns in order to generate DDL")
seq_col = column.table._autoincrement_column
# install a IDENTITY Sequence if we have an implicit IDENTITY column
if seq_col is column:
sequence = isinstance(column.default, sa_schema.Sequence) \
and column.default
if sequence:
start, increment = sequence.start or 1, \
sequence.increment or 1
else:
start, increment = 1, 1
if (start, increment) == (1, 1):
colspec += " IDENTITY"
else:
# TODO: need correct syntax for this
colspec += " IDENTITY(%s,%s)" % (start, increment)
else:
default = self.get_column_default_string(column)
if default is not None:
colspec += " DEFAULT " + default
if column.nullable is not None:
if not column.nullable or column.primary_key:
colspec += " NOT NULL"
else:
colspec += " NULL"
return colspec
示例11: test_next_sequence_value
# 需要導入模塊: from sqlalchemy import schema [as 別名]
# 或者: from sqlalchemy.schema import Sequence [as 別名]
def test_next_sequence_value(self):
# using descriptive text that is intentionally not compatible
# with any particular backend, since all backends have different
# syntax
seq = Sequence("my_sequence")
eq_ignore_whitespace(
str(seq.next_value()), "<next sequence value: my_sequence>"
)
示例12: test_statement_coercion_sequence
# 需要導入模塊: from sqlalchemy import schema [as 別名]
# 或者: from sqlalchemy.schema import Sequence [as 別名]
def test_statement_coercion_sequence(self):
s1 = Sequence("hi")
is_(expect(roles.CoerceTextStatementRole, s1), s1)
示例13: get_column_specification
# 需要導入模塊: from sqlalchemy import schema [as 別名]
# 或者: from sqlalchemy.schema import Sequence [as 別名]
def get_column_specification(self, column, **kwargs):
colspec = self.preparer.format_column(column) + " " + \
self.dialect.type_compiler.process(column.type)
if column.table is None:
raise exc.CompileError(
"The Sybase dialect requires Table-bound "
"columns in order to generate DDL")
seq_col = column.table._autoincrement_column
# install a IDENTITY Sequence if we have an implicit IDENTITY column
if seq_col is column:
sequence = isinstance(column.default, sa_schema.Sequence) \
and column.default
if sequence:
start, increment = sequence.start or 1, \
sequence.increment or 1
else:
start, increment = 1, 1
if (start, increment) == (1, 1):
colspec += " IDENTITY"
else:
# TODO: need correct syntax for this
colspec += " IDENTITY(%s,%s)" % (start, increment)
else:
default = self.get_column_default_string(column)
if default is not None:
colspec += " DEFAULT " + default
if column.nullable is not None:
if not column.nullable or column.primary_key:
colspec += " NOT NULL"
else:
colspec += " NULL"
return colspec
示例14: get_column_specification
# 需要導入模塊: from sqlalchemy import schema [as 別名]
# 或者: from sqlalchemy.schema import Sequence [as 別名]
def get_column_specification(self, column, **kwargs):
colspec = (
self.preparer.format_column(column)
+ " "
+ self.dialect.type_compiler.process(
column.type, type_expression=column
)
)
if column.table is None:
raise exc.CompileError(
"The Sybase dialect requires Table-bound "
"columns in order to generate DDL"
)
seq_col = column.table._autoincrement_column
# install a IDENTITY Sequence if we have an implicit IDENTITY column
if seq_col is column:
sequence = (
isinstance(column.default, sa_schema.Sequence)
and column.default
)
if sequence:
start, increment = sequence.start or 1, sequence.increment or 1
else:
start, increment = 1, 1
if (start, increment) == (1, 1):
colspec += " IDENTITY"
else:
# TODO: need correct syntax for this
colspec += " IDENTITY(%s,%s)" % (start, increment)
else:
default = self.get_column_default_string(column)
if default is not None:
colspec += " DEFAULT " + default
if column.nullable is not None:
if not column.nullable or column.primary_key:
colspec += " NOT NULL"
else:
colspec += " NULL"
return colspec