Пример #1
0
    def test_determineUpgradeSequence(self):

        upgrader = UpgradeDatabaseSchemaStep(None)

        upgrader.schemaLocation = getModule(__name__).filePath.sibling("fake_schema1")
        files = upgrader.scanForUpgradeFiles("fake_dialect")
        upgrades = upgrader.determineUpgradeSequence(3, 4, files, "fake_dialect")
        self.assertEqual(upgrades,
            [upgrader.schemaLocation.child("upgrades").child("fake_dialect").child("upgrade_from_3_to_4.sql")],
        )
        self.assertRaises(RuntimeError, upgrader.determineUpgradeSequence, 3, 5, files, "fake_dialect")

        upgrader.schemaLocation = getModule(__name__).filePath.sibling("fake_schema2")
        files = upgrader.scanForUpgradeFiles("fake_dialect")
        upgrades = upgrader.determineUpgradeSequence(3, 5, files, "fake_dialect")
        self.assertEqual(upgrades,
            [upgrader.schemaLocation.child("upgrades").child("fake_dialect").child("upgrade_from_3_to_5.sql")]
        )
        upgrades = upgrader.determineUpgradeSequence(4, 5, files, "fake_dialect")
        self.assertEqual(upgrades,
            [upgrader.schemaLocation.child("upgrades").child("fake_dialect").child("upgrade_from_4_to_5.sql")]
        )

        upgrader.schemaLocation = getModule(__name__).filePath.sibling("fake_schema3")
        files = upgrader.scanForUpgradeFiles("fake_dialect")
        upgrades = upgrader.determineUpgradeSequence(3, 5, files, "fake_dialect")
        self.assertEqual(upgrades,
            [
                upgrader.schemaLocation.child("upgrades").child("fake_dialect").child("upgrade_from_3_to_4.sql"),
                upgrader.schemaLocation.child("upgrades").child("fake_dialect").child("upgrade_from_4_to_5.sql"),
            ]
        )
Пример #2
0
    def test_determineUpgradeSequence(self):

        upgrader = UpgradeDatabaseSchemaStep(None)

        upgrader.schemaLocation = getModule(__name__).filePath.sibling(
            "fake_schema1")
        files = upgrader.scanForUpgradeFiles("fake_dialect")
        upgrades = upgrader.determineUpgradeSequence(3, 4, files,
                                                     "fake_dialect")
        self.assertEqual(
            upgrades,
            [
                upgrader.schemaLocation.child("upgrades").child(
                    "fake_dialect").child("upgrade_from_3_to_4.sql")
            ],
        )
        self.assertRaises(RuntimeError, upgrader.determineUpgradeSequence, 3,
                          5, files, "fake_dialect")

        upgrader.schemaLocation = getModule(__name__).filePath.sibling(
            "fake_schema2")
        files = upgrader.scanForUpgradeFiles("fake_dialect")
        upgrades = upgrader.determineUpgradeSequence(3, 5, files,
                                                     "fake_dialect")
        self.assertEqual(upgrades, [
            upgrader.schemaLocation.child("upgrades").child(
                "fake_dialect").child("upgrade_from_3_to_5.sql")
        ])
        upgrades = upgrader.determineUpgradeSequence(4, 5, files,
                                                     "fake_dialect")
        self.assertEqual(upgrades, [
            upgrader.schemaLocation.child("upgrades").child(
                "fake_dialect").child("upgrade_from_4_to_5.sql")
        ])

        upgrader.schemaLocation = getModule(__name__).filePath.sibling(
            "fake_schema3")
        files = upgrader.scanForUpgradeFiles("fake_dialect")
        upgrades = upgrader.determineUpgradeSequence(3, 5, files,
                                                     "fake_dialect")
        self.assertEqual(upgrades, [
            upgrader.schemaLocation.child("upgrades").child(
                "fake_dialect").child("upgrade_from_3_to_4.sql"),
            upgrader.schemaLocation.child("upgrades").child(
                "fake_dialect").child("upgrade_from_4_to_5.sql"),
        ])
Пример #3
0
    def test_upgradeAvailability(self):
        """
        Make sure that each old schema has a valid upgrade path to the current one.
        """

        for dialect in (POSTGRES_DIALECT, ORACLE_DIALECT,):
            upgrader = UpgradeDatabaseSchemaStep(None)
            files = upgrader.scanForUpgradeFiles(dialect)

            current_version = self._getSchemaVersion(upgrader.schemaLocation.child("current.sql"), "VERSION")

            for child in upgrader.schemaLocation.child("old").child(dialect).globChildren("*.sql"):
                old_version = self._getSchemaVersion(child, "VERSION")
                upgrades = upgrader.determineUpgradeSequence(old_version, current_version, files, dialect)
                self.assertNotEqual(len(upgrades), 0)
Пример #4
0
    def test_upgradeAvailability(self):
        """
        Make sure that each old schema has a valid upgrade path to the current one.
        """

        for dialect in (
                POSTGRES_DIALECT,
                ORACLE_DIALECT,
        ):
            upgrader = UpgradeDatabaseSchemaStep(None)
            files = upgrader.scanForUpgradeFiles(dialect)

            current_version = self._getSchemaVersion(
                upgrader.schemaLocation.child("current.sql"), "VERSION")

            for child in upgrader.schemaLocation.child("old").child(
                    dialect).globChildren("*.sql"):
                old_version = self._getSchemaVersion(child, "VERSION")
                upgrades = upgrader.determineUpgradeSequence(
                    old_version, current_version, files, dialect)
                self.assertNotEqual(len(upgrades), 0)