From 541cbd26b5b86ce445f2065b60d28fdcbbb299a9 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Tue, 9 Jun 2015 11:40:34 -0400 Subject: - The :meth:`.MigrationContext.stamp` method, added as part of the versioning refactor in 0.7 as a more granular version of :func:`.command.stamp`, now includes the "create the alembic_version table if not present" step in the same way as the command version, which was previously omitted. fixes #300 --- tests/test_version_table.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'tests/test_version_table.py') diff --git a/tests/test_version_table.py b/tests/test_version_table.py index 704bb31..92cb447 100644 --- a/tests/test_version_table.py +++ b/tests/test_version_table.py @@ -1,5 +1,5 @@ from alembic.testing.fixtures import TestBase - +from alembic.testing import mock from alembic.testing import config, eq_, assert_raises, assert_raises_message from sqlalchemy import Table, MetaData, Column, String @@ -126,6 +126,23 @@ class TestMigrationContext(TestBase): 'as_sql': True}) eq_(context.get_current_heads(), ('q', )) + def test_stamp_api_creates_table(self): + context = self.make_one(connection=self.connection) + assert ( + 'alembic_version' + not in Inspector(self.connection).get_table_names()) + + script = mock.Mock(_stamp_revs=lambda revision, heads: [ + _up(None, 'a', True), + _up(None, 'b', True) + ]) + + context.stamp(script, 'b') + eq_(context.get_current_heads(), ('a', 'b')) + assert ( + 'alembic_version' + in Inspector(self.connection).get_table_names()) + class UpdateRevTest(TestBase): __backend__ = True -- cgit v1.2.1