From 1fdda485aa9886097bd90449480eca10dd7da320 Mon Sep 17 00:00:00 2001 From: Guilherme Chapiewski Date: Wed, 11 Mar 2009 20:09:12 -0300 Subject: [PATCH] #15: Getting all migration versions available up to a version. --- src/simple_db_migrate/core.py | 4 ++++ tests/core_test.py | 8 +++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/simple_db_migrate/core.py b/src/simple_db_migrate/core.py index 133cbcf..9bd07cd 100644 --- a/src/simple_db_migrate/core.py +++ b/src/simple_db_migrate/core.py @@ -42,6 +42,10 @@ def get_all_migration_versions(self): for each_file in migration_files: versions.append(self.get_migration_version(each_file)) return versions + + def get_all_migration_versions_up_to(self, limit_version): + all_versions = self.get_all_migration_versions() + return [version for version in all_versions if version < limit_version] def get_migration_version(self, sql_file): return sql_file[0:sql_file.find("_")] diff --git a/tests/core_test.py b/tests/core_test.py index 0150351..f20e9cf 100644 --- a/tests/core_test.py +++ b/tests/core_test.py @@ -87,7 +87,13 @@ def test_it_should_get_all_migration_versions_available(self): all_versions = db_migrate.get_all_migration_versions() for each_version_got in all_versions: self.assertTrue(each_version_got in expected_versions) - + + def test_it_should_get_all_migration_versions_up_to_a_version(self): + db_migrate = SimpleDBMigrate(".") + migration_files = db_migrate.get_all_migration_versions_up_to("20090214115200") + self.assertEquals(len(migration_files), 1) + self.assertEquals(migration_files[0], "20090214115100") + def test_it_should_get_migration_up_command_in_file(self): db_migrate = SimpleDBMigrate(".") migration_file = "20090214120600_example_migration_file_with_commands.migration"