diff options
author | Jan Dittberner <jan.dittberner@googlemail.com> | 2011-10-28 15:39:31 +0200 |
---|---|---|
committer | Jan Dittberner <jan.dittberner@googlemail.com> | 2011-10-28 15:39:31 +0200 |
commit | 18c3f68d41fd65681bf76994fdea54b045e35298 (patch) | |
tree | 3a3ebf2c74fb8ac516b5c3e62dac9f853dadfd49 | |
parent | 0c069a63c7d750ca6e5ea8822056e6a073e75ede (diff) | |
download | sqalchemy-migrate-18c3f68d41fd65681bf76994fdea54b045e35298.tar.gz |
fix issues with ConfigParser and existing repositories (fixes issue 115)
-rw-r--r-- | docs/changelog.rst | 4 | ||||
-rw-r--r-- | migrate/tests/versioning/test_repository.py | 2 | ||||
-rw-r--r-- | migrate/versioning/repository.py | 8 | ||||
-rw-r--r-- | migrate/versioning/templates/repository/default/migrate.cfg | 2 | ||||
-rw-r--r-- | migrate/versioning/templates/repository/pylons/migrate.cfg | 5 | ||||
-rw-r--r-- | migrate/versioning/version.py | 2 |
6 files changed, 13 insertions, 10 deletions
diff --git a/docs/changelog.rst b/docs/changelog.rst index d391f93..873be7c 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -11,8 +11,8 @@ Features ****************** - improved PEP-8 compliance (issue 122) -- optionally number versions with timestamps instead of sequences (by Pete - Keen) +- optionally number versions with timestamps instead of sequences (partly + pulled from Pete Keen) - allow descriptions in SQL change script filenames (by Pete Keen) - improved model generation diff --git a/migrate/tests/versioning/test_repository.py b/migrate/tests/versioning/test_repository.py index 20aa433..a926f2c 100644 --- a/migrate/tests/versioning/test_repository.py +++ b/migrate/tests/versioning/test_repository.py @@ -100,7 +100,7 @@ class TestVersionedRepository(fixture.Pathed): def test_timestmap_numbering_version(self): repos = Repository(self.path_repos) - repos.config.set('db_settings', 'use_timestamp_numbering', True) + repos.config.set('db_settings', 'use_timestamp_numbering', 'True') # Get latest version, or detect if a specified version exists self.assertEquals(repos.latest, 0) diff --git a/migrate/versioning/repository.py b/migrate/versioning/repository.py index 9b1c08a..6e2f678 100644 --- a/migrate/versioning/repository.py +++ b/migrate/versioning/repository.py @@ -115,7 +115,7 @@ class Repository(pathed.Pathed): options.setdefault('version_table', 'migrate_version') options.setdefault('repository_id', name) options.setdefault('required_dbs', []) - options.setdefault('use_timestamp_numbering', '0') + options.setdefault('use_timestamp_numbering', False) tmpl = open(os.path.join(tmpl_dir, cls._config)).read() ret = TempitaTemplate(tmpl).substitute(options) @@ -180,9 +180,9 @@ class Repository(pathed.Pathed): @property def use_timestamp_numbering(self): """Returns use_timestamp_numbering specified in config""" - ts_numbering = self.config.get('db_settings', 'use_timestamp_numbering', raw=True) - - return ts_numbering + if self.config.has_option('db_settings', 'use_timestamp_numbering'): + return self.config.getboolean('db_settings', 'use_timestamp_numbering') + return False def version(self, *p, **k): """API to :attr:`migrate.versioning.version.Collection.version`""" diff --git a/migrate/versioning/templates/repository/default/migrate.cfg b/migrate/versioning/templates/repository/default/migrate.cfg index b3380b1..dae0612 100644 --- a/migrate/versioning/templates/repository/default/migrate.cfg +++ b/migrate/versioning/templates/repository/default/migrate.cfg @@ -22,4 +22,4 @@ required_dbs={{ locals().pop('required_dbs') }} # When creating new change scripts, Migrate will stamp the new script with # a version number. By default this is latest_version + 1. You can set this # to 'true' to tell Migrate to use the UTC timestamp instead. -use_timestamp_numbering='false'
\ No newline at end of file +use_timestamp_numbering={{ locals().pop('use_timestamp_numbering') }} diff --git a/migrate/versioning/templates/repository/pylons/migrate.cfg b/migrate/versioning/templates/repository/pylons/migrate.cfg index 1dc6ff6..dae0612 100644 --- a/migrate/versioning/templates/repository/pylons/migrate.cfg +++ b/migrate/versioning/templates/repository/pylons/migrate.cfg @@ -18,3 +18,8 @@ version_table={{ locals().pop('version_table') }} # be using to ensure your updates to that database work properly. # This must be a list; example: ['postgres','sqlite'] required_dbs={{ locals().pop('required_dbs') }} + +# When creating new change scripts, Migrate will stamp the new script with +# a version number. By default this is latest_version + 1. You can set this +# to 'true' to tell Migrate to use the UTC timestamp instead. +use_timestamp_numbering={{ locals().pop('use_timestamp_numbering') }} diff --git a/migrate/versioning/version.py b/migrate/versioning/version.py index b3beb75..d5a5be9 100644 --- a/migrate/versioning/version.py +++ b/migrate/versioning/version.py @@ -90,9 +90,7 @@ class Collection(pathed.Pathed): return max([VerNum(0)] + self.versions.keys()) def _next_ver_num(self, use_timestamp_numbering): - print use_timestamp_numbering if use_timestamp_numbering == True: - print "Creating new timestamp version!" return VerNum(int(datetime.utcnow().strftime('%Y%m%d%H%M%S'))) else: return self.latest + 1 |