def test_reorder_multi_index(self): class SomeModel(pw.Model): some_field = pw.CharField(null=True) class Meta: database = self.db indexes = ((('id', 'some_field'), False), ) self.evolve_and_check_noop() self.assertEqual( sorted( peeweedbevolve.normalize_indexes( peeweedbevolve.get_indexes_by_table(self.db, 'somemodel'))), [(u'somemodel', (u'id', ), True), (u'somemodel', (u'id', u'some_field'), False)]) peeweedbevolve.clear() class SomeModel(pw.Model): some_field = pw.CharField(null=True) class Meta: database = self.db indexes = ((('some_field', 'id'), False), ) self.evolve_and_check_noop() self.assertEqual( sorted( peeweedbevolve.normalize_indexes( peeweedbevolve.get_indexes_by_table(self.db, 'somemodel'))), [(u'somemodel', (u'id', ), True), (u'somemodel', (u'some_field', u'id'), False)])
def test_drop_index_table_rename(self): class SomeModel2(pw.Model): some_field = pw.CharField(index=True, null=True) class Meta: database = self.db self.evolve_and_check_noop() self.assertEqual( sorted( peeweedbevolve.normalize_indexes( peeweedbevolve.get_indexes_by_table(self.db, 'somemodel2'))), [(u'somemodel2', (u'id', ), True), (u'somemodel2', (u'some_field', ), False)]) peeweedbevolve.clear() class SomeModel(pw.Model): some_field = pw.CharField(null=True) class Meta: database = self.db aka = 'somemodel2' self.evolve_and_check_noop() self.assertEqual( sorted( peeweedbevolve.normalize_indexes( peeweedbevolve.get_indexes_by_table(self.db, 'somemodel'))), [ (u'somemodel', (u'id', ), True), ])
def test_drop_unique(self): class SomeModel(pw.Model): some_field = pw.CharField(unique=True, null=True) class Meta: database = self.db self.evolve_and_check_noop() self.assertEqual( sorted( peeweedbevolve.normalize_indexes( peeweedbevolve.get_indexes_by_table(self.db, 'somemodel'))), [(u'somemodel', (u'id', ), True), (u'somemodel', (u'some_field', ), True)]) peeweedbevolve.clear() self.test_create_table() self.assertEqual( sorted( peeweedbevolve.normalize_indexes( peeweedbevolve.get_indexes_by_table(self.db, 'somemodel'))), [ (u'somemodel', (u'id', ), True), ])
def test_add_index_column_rename(self): self.test_create_table() peeweedbevolve.clear() class SomeModel(pw.Model): some_field2 = pw.CharField(index=True, null=True, aka='some_field') class Meta: database = self.db self.evolve_and_check_noop() self.assertEqual( sorted( peeweedbevolve.normalize_indexes( self.db.get_indexes('somemodel'))), [(u'somemodel', (u'id', ), True), (u'somemodel', (u'some_field2', ), False)])