sqlalchemy_continuum.version_class.__table__

Here are the examples of the python api sqlalchemy_continuum.version_class.__table__ taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

10 Examples 7

Example 1

Project: sqlalchemy-continuum Source File: test_table_builder.py
    def test_versioned_table_structure(self):
        table = version_class(self.Article).__table__
        assert 'id' in table.c
        assert 'name' in table.c
        assert 'content' in table.c
        assert 'description'in table.c
        assert 'transaction_id' in table.c
        assert 'operation_type' in table.c

Example 2

Project: sqlalchemy-continuum Source File: test_validity_strategy.py
    def test_schema_contains_end_transaction_id(self):
        table = version_class(self.Article).__table__
        assert 'end_transaction_id' in table.c
        table.c.end_transaction_id
        assert table.c.end_transaction_id.nullable
        assert not table.c.end_transaction_id.primary_key

Example 3

Project: sqlalchemy-continuum Source File: test_table_builder.py
    def test_removes_autoincrementation(self):
        table = version_class(self.Article).__table__
        assert table.c.id.autoincrement is False

Example 4

Project: sqlalchemy-continuum Source File: test_table_builder.py
    def test_removes_not_null_constraints(self):
        assert self.Article.__table__.c.name.nullable is False
        table = version_class(self.Article).__table__
        assert table.c.name.nullable is True

Example 5

Project: sqlalchemy-continuum Source File: test_table_builder.py
    def test_primary_keys_remain_not_nullable(self):
        assert self.Article.__table__.c.name.nullable is False
        table = version_class(self.Article).__table__
        assert table.c.id.nullable is False

Example 6

Project: sqlalchemy-continuum Source File: test_table_builder.py
    def test_transaction_id_column_not_nullable(self):
        assert self.Article.__table__.c.name.nullable is False
        table = version_class(self.Article).__table__
        assert table.c.transaction_id.nullable is False

Example 7

Project: sqlalchemy-continuum Source File: test_table_builder.py
    def test_takes_out_onupdate_triggers(self):
        table = version_class(self.Article).__table__
        assert table.c.last_update.onupdate is None

Example 8

Project: sqlalchemy-continuum Source File: test_update_end_transaction_id.py
Function: insert
    def _insert(self, values):
        table = version_class(self.Article).__table__
        stmt = table.insert().values(values)
        self.session.execute(stmt)

Example 9

Project: sqlalchemy-continuum Source File: test_update_end_transaction_id.py
    def test_update_end_transaction_id(self):
        table = version_class(self.Article).__table__
        self._insert(
            {
                'id': 1,
                'transaction_id': 1,
                'name': u'Article 1',
                'operation_type': 1,
            }
        )
        self._insert(
            {
                'id': 1,
                'transaction_id': 2,
                'name': u'Article 1 updated',
                'operation_type': 2,
            }
        )
        self._insert(
            {
                'id': 2,
                'transaction_id': 3,
                'name': u'Article 2',
                'operation_type': 1,
            }
        )
        self._insert(
            {
                'id': 1,
                'transaction_id': 4,
                'name': u'Article 1 updated (again)',
                'operation_type': 2,
            }
        )
        self._insert(
            {
                'id': 2,
                'transaction_id': 5,
                'name': u'Article 2 updated',
                'operation_type': 2,
            }
        )

        update_end_tx_column(table, conn=self.session)
        rows = self.session.execute(
            'SELECT * FROM article_version ORDER BY transaction_id'
        ).fetchall()
        assert rows[0].transaction_id == 1
        assert rows[0].end_transaction_id == 2
        assert rows[1].transaction_id == 2
        assert rows[1].end_transaction_id == 4
        assert rows[2].transaction_id == 3
        assert rows[2].end_transaction_id == 5
        assert rows[3].transaction_id == 4
        assert rows[3].end_transaction_id is None
        assert rows[4].transaction_id == 5
        assert rows[4].end_transaction_id is None

Example 10

Project: sqlalchemy-continuum Source File: test_update_property_mod_flags.py
Function: test_something
    def test_something(self):
        table = version_class(self.Article).__table__
        self._insert(
            {
                'id': 1,
                'transaction_id': 1,
                'end_transaction_id': 2,
                'name': u'Article 1',
                'name_mod': False,
                'operation_type': 1,
            }
        )
        self._insert(
            {
                'id': 1,
                'transaction_id': 2,
                'end_transaction_id': 4,
                'name': u'Article 1',
                'name_mod': False,
                'operation_type': 2,
            }
        )
        self._insert(
            {
                'id': 2,
                'transaction_id': 3,
                'end_transaction_id': 5,
                'name': u'Article 2',
                'name_mod': False,
                'operation_type': 1,
            }
        )
        self._insert(
            {
                'id': 1,
                'transaction_id': 4,
                'end_transaction_id': None,
                'name': u'Article 1 updated',
                'name_mod': False,
                'operation_type': 2,
            }
        )
        self._insert(
            {
                'id': 2,
                'transaction_id': 5,
                'end_transaction_id': None,
                'name': u'Article 2',
                'name_mod': False,
                'operation_type': 2,
            }
        )

        update_property_mod_flags(
            table,
            ['name'],
            conn=self.session
        )
        rows = self.session.execute(
            'SELECT * FROM article_version ORDER BY transaction_id'
        ).fetchall()
        assert rows[0].transaction_id == 1
        assert rows[0].name_mod
        assert rows[1].transaction_id == 2
        assert not rows[1].name_mod
        assert rows[2].transaction_id == 3
        assert rows[2].name_mod
        assert rows[3].transaction_id == 4
        assert rows[3].name_mod
        assert rows[4].transaction_id == 5
        assert not rows[4].name_mod