コード例 #1
0
    with db.database.transaction():
        Organization.create_table()

        default_org = Organization.create(
            name="Default",
            slug='default',
            settings={
                Organization.SETTING_GOOGLE_APPS_DOMAINS:
                list(GOOGLE_APPS_DOMAIN)
            })

        column = Group.org
        column.default = default_org

        migrate(
            migrator.add_column('groups', 'org_id', column),
            migrator.add_column('events', 'org_id', column),
            migrator.add_column('data_sources', 'org_id', column),
            migrator.add_column('users', 'org_id', column),
            migrator.add_column('dashboards', 'org_id', column),
            migrator.add_column('queries', 'org_id', column),
            migrator.add_column('query_results', 'org_id', column),
        )

        # Change the uniqueness constraint on user email to be (org, email):
        migrate(migrator.drop_index('users', 'users_email'),
                migrator.add_index('users', ('org_id', 'email'), unique=True))

    db.close_db(None)
コード例 #2
0
if __name__ == '__main__':
    migrator = PostgresqlMigrator(db.database)

    with db.database.transaction():
        Organization.create_table()

        default_org = Organization.create(name="Default", slug='default', settings={
            Organization.SETTING_GOOGLE_APPS_DOMAINS: list(settings.GOOGLE_APPS_DOMAIN)
        })

        column = Group.org
        column.default = default_org

        migrate(
            migrator.add_column('groups', 'org_id', column),
            migrator.add_column('events', 'org_id', column),
            migrator.add_column('data_sources', 'org_id', column),
            migrator.add_column('users', 'org_id', column),
            migrator.add_column('dashboards', 'org_id', column),
            migrator.add_column('queries', 'org_id', column),
            migrator.add_column('query_results', 'org_id', column),
        )

        # Change the uniqueness constraint on user email to be (org, email):
        migrate(
            migrator.drop_index('users', 'users_email'),
            migrator.add_index('users', ('org_id', 'email'), unique=True)
        )

    db.close_db(None)
コード例 #3
0
from redash.models import db
import peewee
from playhouse.migrate import PostgresqlMigrator, migrate

if __name__ == '__main__':
    migrator = PostgresqlMigrator(db.database)

    with db.database.transaction():
        # Change the uniqueness constraint on data source name to be (org, name):
        # In some cases it's a constraint:
        db.database.execute_sql('ALTER TABLE data_sources DROP CONSTRAINT IF EXISTS unique_name')
        # In others only an index:
        db.database.execute_sql('DROP INDEX IF EXISTS data_sources_name')

        migrate(
            migrator.add_index('data_sources', ('org_id', 'name'), unique=True)
        )

    db.close_db(None)
コード例 #4
0
from redash.models import db
import peewee
from playhouse.migrate import PostgresqlMigrator, migrate

if __name__ == "__main__":
    migrator = PostgresqlMigrator(db.database)

    with db.database.transaction():
        # Change the uniqueness constraint on data source name to be (org, name):
        success = False
        for constraint in ["unique_name", "data_sources_name"]:
            try:
                db.database.execute_sql("ALTER TABLE data_sources DROP CONSTRAINT {}".format(constraint))
                success = True
                break
            except peewee.ProgrammingError:
                db.close_db(None)

        if not success:
            print "Failed removing uniqueness constraint on data source name."
            print "Please verify its name in the schema, update the migration and run again."
            exit()

        migrate(migrator.add_index("data_sources", ("org_id", "name"), unique=True))

    db.close_db(None)
コード例 #5
0
from redash.models import db
import peewee
from playhouse.migrate import PostgresqlMigrator, migrate

if __name__ == '__main__':
    migrator = PostgresqlMigrator(db.database)

    with db.database.transaction():
        # Change the uniqueness constraint on data source name to be (org, name):
        success = False
        for constraint in ['unique_name', 'data_sources_name']:
            try:
                db.database.execute_sql(
                    "ALTER TABLE data_sources DROP CONSTRAINT {}".format(
                        constraint))
                success = True
                break
            except peewee.ProgrammingError:
                db.close_db(None)

        if not success:
            print "Failed removing uniqueness constraint on data source name."
            print "Please verify its name in the schema, update the migration and run again."
            exit()

        migrate(
            migrator.add_index('data_sources', ('org_id', 'name'),
                               unique=True))

    db.close_db(None)