Beispiel #1
0
    def test_set_default(self):
        Manager.alter().set_default(Manager.name, "Pending").run_sync()

        # Bypassing the ORM to make sure the database default is present.
        Band.raw("INSERT INTO manager (id, name) VALUES (DEFAULT, DEFAULT);"
                 ).run_sync()

        manager = Manager.objects().first().run_sync()
        self.assertEqual(manager.name, "Pending")
    def test_succeeds(self):
        transaction = Band._meta.db.atomic()
        transaction.add(Manager.create_table(), Band.create_table())
        transaction.run_sync()

        self.assertTrue(Band.table_exists().run_sync())
        self.assertTrue(Manager.table_exists().run_sync())

        transaction.add(Band.alter().drop_table(),
                        Manager.alter().drop_table())
        transaction.run_sync()
Beispiel #3
0
    def test_unique(self):
        unique_query = Manager.alter().set_unique(Manager.name, True)
        unique_query.run_sync()

        Manager(name="Bob").save().run_sync()

        # Make sure non-unique names work:
        Manager(name="Sally").save().run_sync()

        # Check there's a unique row error ...
        with self.assertRaises(Exception):
            Manager(name="Bob").save().run_sync()

        response = Manager.select().run_sync()
        self.assertEqual(len(response), 2)

        # Now remove the constraint, and add a row.
        not_unique_query = Manager.alter().set_unique(Manager.name, False)
        not_unique_query.run_sync()
        Manager(name="Bob").save().run_sync()

        response = Manager.select().run_sync()
        self.assertTrue(len(response), 2)
Beispiel #4
0
    def test_multiple(self):
        self.insert_row()

        query = (Manager.alter().add_column("column_a",
                                            Integer(default=0,
                                                    null=True)).add_column(
                                                        "column_b",
                                                        Integer(default=0,
                                                                null=True)))
        query.run_sync()

        response = Band.raw("SELECT * FROM manager").run_sync()

        column_names = response[0].keys()
        self.assertIn("column_a", column_names)
        self.assertIn("column_b", column_names)
Beispiel #5
0
 def tearDown(self):
     Manager.alter().drop_table().run_sync()
Beispiel #6
0
    def test_create_table(self):
        Manager.create_table().run_sync()
        self.assertTrue(Manager.table_exists().run_sync())

        Manager.alter().drop_table().run_sync()
Beispiel #7
0
 def tearDown(self) -> None:
     Band.alter().drop_table(if_exists=True).run_sync()
     Manager.alter().drop_table(if_exists=True).run_sync()