Example #1
0
 def model(self):
     """Initialize and cache MigrationHistory model."""
     MigrateHistory._meta.database = self.database
     MigrateHistory._meta.table_name = self.migrate_table
     MigrateHistory._meta.schema = self.schema
     MigrateHistory.create_table(True)
     return MigrateHistory
def test_router():
    from peewee_migrate import MigrateHistory
    from peewee_migrate.cli import get_router

    router = get_router('tests/migrations', 'sqlite:///:memory:')

    assert router.database
    assert isinstance(router.database, pw.Database)

    assert router.todo == ['001_test', '002_test', '003_tespy']
    assert router.done == []
    assert router.diff == ['001_test', '002_test', '003_tespy']

    router.create('new')
    assert router.todo == ['001_test', '002_test', '003_tespy', '004_new']
    os.remove('tests/migrations/004_new.py')

    MigrateHistory.create(name='001_test')
    assert router.diff == ['002_test', '003_tespy']

    MigrateHistory.delete().execute()

    router.run()
    assert router.diff == []

    migrations = MigrateHistory.select()
    assert list(migrations)
    assert migrations.count() == 3

    router.rollback('003_tespy')
    assert router.diff == ['003_tespy']
    assert migrations.count() == 2
Example #3
0
 def model(self):
     """Initialize and cache MigrationHistory model."""
     MigrateHistory._meta.database = self.database
     MigrateHistory._meta.table_name = self.migrate_table
     MigrateHistory._meta.schema = self.schema
     MigrateHistory.create_table(True)
     return MigrateHistory
Example #4
0
def test_router():
    from peewee_migrate import MigrateHistory
    from peewee_migrate.cli import get_router

    router = get_router(MIGRATIONS_DIR, 'sqlite:///:memory:')

    assert router.database
    assert isinstance(router.database, pw.Database)

    assert router.todo == ['001_test', '002_test', '003_tespy']
    assert router.done == []
    assert router.diff == ['001_test', '002_test', '003_tespy']

    router.create('new')
    assert router.todo == ['001_test', '002_test', '003_tespy', '004_new']
    os.remove(os.path.join(MIGRATIONS_DIR, '004_new.py'))

    MigrateHistory.create(name='001_test')
    assert router.diff == ['002_test', '003_tespy']

    MigrateHistory.delete().execute()

    router.run()
    assert router.diff == []

    with mock.patch('peewee.Database.execute_sql') as execute_sql:
        router.run_one('002_test', router.migrator, fake=True)

    assert not execute_sql.called

    migrations = MigrateHistory.select()
    assert list(migrations)
    assert migrations.count() == 3

    router.rollback('003_tespy')
    assert router.diff == ['003_tespy']
    assert migrations.count() == 2

    with mock.patch('os.remove') as mocked:
        router.merge()
        assert mocked.call_count == 3
        assert mocked.call_args[0][0] == os.path.join(MIGRATIONS_DIR, '003_tespy.py')
        assert MigrateHistory.select().count() == 1

    os.remove(os.path.join(MIGRATIONS_DIR, '001_initial.py'))

    from peewee_migrate.router import load_models

    models = load_models('tests.test_autodiscover')
    assert models

    models = load_models('tests.test_autodiscover')
    assert models
Example #5
0
def test_router():
    from peewee_migrate import MigrateHistory
    from peewee_migrate.cli import get_router

    router = get_router('tests/migrations', 'sqlite:///:memory:')

    assert router.database
    assert isinstance(router.database, pw.Database)

    assert router.todo == ['001_test', '002_test', '003_tespy']
    assert router.done == []
    assert router.diff == ['001_test', '002_test', '003_tespy']

    router.create('new')
    assert router.todo == ['001_test', '002_test', '003_tespy', '004_new']
    os.remove('tests/migrations/004_new.py')

    MigrateHistory.create(name='001_test')
    assert router.diff == ['002_test', '003_tespy']

    MigrateHistory.delete().execute()

    router.run()
    assert router.diff == []

    migrations = MigrateHistory.select()
    assert list(migrations)
    assert migrations.count() == 3

    router.rollback('003_tespy')
    assert router.diff == ['003_tespy']
    assert migrations.count() == 2

    with mock.patch('os.remove') as mocked:
        router.merge()
        assert mocked.call_count == 3
        assert mocked.call_args[0][0] == 'tests/migrations/003_tespy.py'
        assert MigrateHistory.select().count() == 1

    os.remove('tests/migrations/001_initial.py')
Example #6
0
 def model(self):
     """Ensure that migrations has prepared to run."""
     # Initialize MigrationHistory model
     MigrateHistory._meta.database = self.database
     MigrateHistory.create_table(True)
     return MigrateHistory
Example #7
0
 def model(self):
     """Ensure that migrations has prepared to run."""
     # Initialize MigrationHistory model
     MigrateHistory._meta.database = self.database
     MigrateHistory.create_table(True)
     return MigrateHistory