from playhouse.migrate import SqliteMigrator, MySQLMigrator, PostgresqlMigrator
from playhouse.reflection import Introspector

from . import VersionedModel
from . import migrate

# Setup Database
database_url = os.environ.get('DATABASE', None)
if database_url:
    database = connect(database_url)
    if database_url.startswith('mysql'):
        migrator = MySQLMigrator.from_database(database)
    if database_url.startswith('postgres'):
        migrator = PostgresqlMigrator.from_database(database)
    if database_url.startswith('sqlite'):
        migrator = SqliteMigrator.from_database(database)

else:
    database = SqliteDatabase(':memory:')
    migrator = SqliteMigrator.from_database(database)

introspector = Introspector.from_database(database)

# Basic example class


class BaseClass(VersionedModel):
    class Meta:
        database = database

from playhouse.migrate import SqliteMigrator, MySQLMigrator, PostgresqlMigrator
from playhouse.reflection import Introspector

from . import VersionedModel
from . import migrate

# Setup Database
database_url = os.environ.get('DATABASE', None)
if database_url:
    database = connect(database_url)
    if database_url.startswith('mysql'):
        migrator = MySQLMigrator.from_database(database)
    if database_url.startswith('postgres'):
        migrator = PostgresqlMigrator.from_database(database)
    if database_url.startswith('sqlite'):
        migrator = SqliteMigrator.from_database(database)

else:
    database = SqliteDatabase(':memory:')
    migrator = SqliteMigrator.from_database(database)

introspector = Introspector.from_database(database)

# Basic example class


class BaseClass(VersionedModel):

    class Meta:
        database = database