def create_sequence(cls, values): """ create the sequence for one instance """ if 'seq_name' in values: seq_name = values['seq_name'] else: seq_id = cls.registry.execute(SQLASequence(cls._cls_seq_name)) seq_name = '%s_%d' % (cls.__tablename__, seq_id) values['seq_name'] = seq_name if 'number' in values: seq = SQLASequence(seq_name, values['number']) else: values['number'] = 0 seq = SQLASequence(seq_name) seq.create(cls.registry.bind) return values
def initialize_model(cls): """ Create the sequence to determine name """ super(Sequence, cls).initialize_model() seq = SQLASequence(cls._cls_seq_name) seq.create(cls.registry.bind) if hasattr(cls.registry, '_need_sequence_to_create_if_not_exist'): if cls.registry._need_sequence_to_create_if_not_exist: for vals in cls.registry._need_sequence_to_create_if_not_exist: if 'formater' in vals and vals['formater'] is None: del vals['formater'] if cls.query().filter(cls.code == vals['code']).count(): continue cls.insert(**vals)
def create_sequence(cls, values): """Create the database sequence for an instance of Sequence Model. :return: suitable field values for insertion of the Model instance :rtype: dict """ seq_name = values.get('seq_name') if seq_name is None: seq_id = cls.registry.execute(SQLASequence(cls._cls_seq_name)) seq_name = '%s_%d' % (cls.__tablename__, seq_id) values['seq_name'] = seq_name number = values.setdefault('number', 0) if number: seq = SQLASequence(seq_name, number) else: seq = SQLASequence(seq_name) seq.create(cls.registry.bind) return values
def initialize_model(cls): """ Create the sequence to determine name """ super(Sequence, cls).initialize_model() seq = SQLASequence(cls._cls_seq_name) seq.create(cls.registry.bind) to_create = getattr(cls.registry, '_need_sequence_to_create_if_not_exist', ()) if to_create is None: return for vals in to_create: if cls.query().filter(cls.code == vals['code']).count(): continue formatter = vals.get('formater') if formatter is None: del vals['formater'] cls.insert(**vals)
def create_sequence(cls, values): """Create the database sequence for an instance of Sequence Model. :return: suitable field values for insertion of the Model instance :rtype: dict """ seq_name = values.get('seq_name') start = values.setdefault('start', 1) if values.get("no_gap"): values.setdefault('seq_name', values.get("code", "no_gap")) else: if seq_name is None: seq_id = cls.registry.execute(SQLASequence(cls._cls_seq_name)) seq_name = '%s_%d' % (cls.__tablename__, seq_id) values['seq_name'] = seq_name seq = SQLASequence(seq_name, start=start) seq.create(cls.registry.bind) return values