def upgrade():
    op.add_column('role_user',
                  sa.Column('is_coordinator', sa.Boolean, nullable=False))
Ejemplo n.º 2
0
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.add_column('user', sa.Column('password', sa.String(length=255), nullable=False))
def downgrade():

    # speakers
    op.drop_column(u'speakers', 'task_id')
    op.add_column(
        u'speakers',
        sa.Column('audio_collection_id',
                  sa.INTEGER(),
                  autoincrement=False,
                  nullable=False))
    op.create_foreign_key(u'speakers_audio_collection_id_fkey', 'speakers',
                          'audio_collections', ['audio_collection_id'],
                          ['audio_collection_id'])
    op.create_index('speakers_by_audio_collection_id',
                    'speakers', ['audio_collection_id'],
                    unique=False)
    op.create_unique_constraint(u'speakers_audio_collection_id_identifier_key',
                                'speakers',
                                ['audio_collection_id', 'identifier'])

    # speaker meta categories
    op.drop_column(u'speaker_meta_categories', 'task_id')
    op.add_column(
        u'speaker_meta_categories',
        sa.Column('audio_collection_id',
                  sa.INTEGER(),
                  autoincrement=False,
                  nullable=False))
    op.create_foreign_key(u'speaker_meta_categories_audio_collection_id_fkey',
                          'speaker_meta_categories', 'audio_collections',
                          ['audio_collection_id'], ['audio_collection_id'])
    op.create_index('speaker_meta_categories_by_audio_collection_id',
                    'speaker_meta_categories', ['audio_collection_id'],
                    unique=False)
    op.create_unique_constraint(
        u'speaker_meta_categories_audio_collection_id_name_key',
        'speaker_meta_categories', ['audio_collection_id', 'name'])

    # recording platforms
    op.drop_column(u'recording_platforms', 'task_id')
    op.add_column(
        u'recording_platforms',
        sa.Column('audio_collection_id',
                  sa.INTEGER(),
                  autoincrement=False,
                  nullable=False))
    op.create_foreign_key(u'recording_platforms_audio_collection_id_fkey',
                          'recording_platforms', 'audio_collections',
                          ['audio_collection_id'], ['audio_collection_id'])
    op.create_index('recording_platforms_by_audio_collection_id',
                    'recording_platforms', ['audio_collection_id'],
                    unique=False)

    # recording flags
    op.drop_column(u'recording_flags', 'task_id')
    op.add_column(
        u'recording_flags',
        sa.Column('audio_collection_id',
                  sa.INTEGER(),
                  autoincrement=False,
                  nullable=False))
    op.create_foreign_key(u'recording_flags_audio_collection_id_fkey',
                          'recording_flags', 'audio_collections',
                          ['audio_collection_id'], ['audio_collection_id'])
    op.create_index('recording_flags_by_audio_collection_id',
                    'recording_flags', ['audio_collection_id'],
                    unique=False)
    op.create_unique_constraint(
        u'recording_flags_audio_collection_id_name_key', 'recording_flags',
        ['audio_collection_id', 'name'])

    # performance flags
    op.drop_column(u'performance_flags', 'task_id')
    op.add_column(
        u'performance_flags',
        sa.Column('audio_collection_id',
                  sa.INTEGER(),
                  autoincrement=False,
                  nullable=False))
    op.create_foreign_key(u'performance_flags_audio_collection_id_fkey',
                          'performance_flags', 'audio_collections',
                          ['audio_collection_id'], ['audio_collection_id'])
    op.create_index('performance_flags_by_audio_collection_id',
                    'performance_flags', ['audio_collection_id'],
                    unique=False)
    op.create_unique_constraint(
        u'performance_flags_audio_collection_id_name_key', 'performance_flags',
        ['audio_collection_id', 'name'])

    # meta data change requests
    op.drop_column(u'meta_data_change_requests', 'task_id')
    op.add_column(
        u'meta_data_change_requests',
        sa.Column('audio_collection_id',
                  sa.INTEGER(),
                  autoincrement=False,
                  nullable=False))
    op.create_foreign_key(
        u'meta_data_change_requests_audio_collection_id_fkey',
        'meta_data_change_requests', 'audio_collections',
        ['audio_collection_id'], ['audio_collection_id'])
    op.create_index('meta_data_change_requests_by_audio_collection_id',
                    'meta_data_change_requests', ['audio_collection_id'],
                    unique=False)

    # meta data change log
    op.drop_column(u'meta_data_change_log', 'task_id')
    op.add_column(
        u'meta_data_change_log',
        sa.Column('audio_collection_id',
                  sa.INTEGER(),
                  autoincrement=False,
                  nullable=False))
    op.create_foreign_key(u'meta_data_change_log_audio_collection_id_fkey',
                          'meta_data_change_log', 'audio_collections',
                          ['audio_collection_id'], ['audio_collection_id'])
    op.create_index('meta_data_change_log_by_audio_collection_id',
                    'meta_data_change_log', ['audio_collection_id'],
                    unique=False)

    # albums
    op.drop_column(u'albums', 'task_id')
    op.add_column(
        u'albums',
        sa.Column('audio_collection_id',
                  sa.INTEGER(),
                  autoincrement=False,
                  nullable=False))
    op.create_foreign_key(u'albums_audio_collection_id_fkey', 'albums',
                          'audio_collections', ['audio_collection_id'],
                          ['audio_collection_id'])
    op.create_index('albums_by_audio_collection_id',
                    'albums', ['audio_collection_id'],
                    unique=False)

    # album meta categories
    op.drop_column(u'album_meta_categories', 'task_id')
    op.add_column(
        u'album_meta_categories',
        sa.Column('audio_collection_id',
                  sa.INTEGER(),
                  autoincrement=False,
                  nullable=False))
    op.create_foreign_key(u'album_meta_categories_audio_collection_id_fkey',
                          'album_meta_categories', 'audio_collections',
                          ['audio_collection_id'], ['audio_collection_id'])
    op.create_index('album_meta_categories_by_audio_collection_id',
                    'album_meta_categories', ['audio_collection_id'],
                    unique=False)
    op.create_unique_constraint(
        u'album_meta_categories_audio_collection_id_name_key',
        'album_meta_categories', ['audio_collection_id', 'name'])

    # add audio collection status log
    op.create_table(
        'audio_collection_status_log',
        sa.Column('log_entry_id', sa.INTEGER(), nullable=False),
        sa.Column('audio_collection_id',
                  sa.INTEGER(),
                  autoincrement=False,
                  nullable=False),
        sa.Column('from_audio_collection_status_id',
                  sa.INTEGER(),
                  autoincrement=False,
                  nullable=False),
        sa.Column('to_audio_collection_status_id',
                  sa.INTEGER(),
                  autoincrement=False,
                  nullable=False),
        sa.Column('changed_by',
                  sa.INTEGER(),
                  autoincrement=False,
                  nullable=False),
        sa.Column('changed_at',
                  postgresql.TIMESTAMP(timezone=True),
                  autoincrement=False,
                  nullable=False),
        sa.ForeignKeyConstraint(
            ['audio_collection_id'],
            [u'audio_collections.audio_collection_id'],
            name=u'audio_collection_status_log_audio_collection_id_fkey'),
        sa.ForeignKeyConstraint(
            ['changed_by'], [u'users.userid'],
            name=u'audio_collection_status_log_changed_by_fkey'),
        sa.ForeignKeyConstraint(
            ['from_audio_collection_status_id'],
            [u'audio_collection_statuses.audio_collection_status_id'],
            name=
            u'audio_collection_status_log_from_audio_collection_status_i_fkey'
        ),
        sa.ForeignKeyConstraint(
            ['to_audio_collection_status_id'],
            [u'audio_collection_statuses.audio_collection_status_id'],
            name=
            u'audio_collection_status_log_to_audio_collection_status_id_fkey'),
        sa.PrimaryKeyConstraint('log_entry_id',
                                name=u'audio_collection_status_log_pkey'))

    # add audio collection supervisors
    op.create_table(
        'audio_collection_supervisors',
        sa.Column('audio_collection_id', sa.INTEGER(), nullable=False),
        sa.Column('user_id', sa.INTEGER(), autoincrement=False,
                  nullable=False),
        sa.PrimaryKeyConstraint('audio_collection_id',
                                'user_id',
                                name=u'audio_collection_supervisors_pkey'))
def upgrade():
    url = op.get_bind().engine.url
    collation = 'utf8_bin' if 'mysql' in url.drivername else None
    op.add_column(
        'commcare_export_runs',
        sa.Column('table_name', sa.Unicode(255, collation=collation)))
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.add_column('tasks', sa.Column('isSingleUse', sa.Boolean(), nullable=True))
Ejemplo n.º 6
0
def upgrade():
    ### commands auto generated by Alembic - please adjust! ###
    op.add_column('forum', sa.Column('restricted', sa.Boolean(), default=False))
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.add_column('users', sa.Column('intro_shown', sa.Boolean(), server_default='0', nullable=False))
Ejemplo n.º 8
0
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table(
        'product', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('created_at', sa.DateTime(), nullable=False),
        sa.Column('updated_at', sa.DateTime(), nullable=False),
        sa.Column('title', sa.String(length=20), nullable=False),
        sa.Column('description', sa.String(length=200), nullable=False),
        sa.Column('cover', sa.String(length=100), nullable=False),
        sa.Column('price', sa.Integer(), nullable=False),
        sa.Column('amount', sa.Integer(), nullable=False),
        sa.Column('shop_id', sa.Integer(), nullable=False),
        sa.PrimaryKeyConstraint('id'))
    op.create_index('idx_shop_id', 'product', ['shop_id'], unique=False)
    op.create_table(
        'shop', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('created_at', sa.DateTime(), nullable=False),
        sa.Column('updated_at', sa.DateTime(), nullable=False),
        sa.Column('name', sa.String(length=20), nullable=False),
        sa.Column('description', sa.String(length=200), nullable=False),
        sa.Column('cover', sa.String(length=100), nullable=False),
        sa.Column('owner_id', sa.Integer(), nullable=False),
        sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('name'))
    op.create_index('idx_owner_id', 'shop', ['owner_id'], unique=False)
    op.create_table(
        'favorite_product', sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('created_at', sa.DateTime(), nullable=False),
        sa.Column('updated_at', sa.DateTime(), nullable=False),
        sa.Column('user_id', sa.Integer(), nullable=False),
        sa.Column('product_id', sa.Integer(), nullable=False),
        sa.ForeignKeyConstraint(['product_id'], ['product.id'],
                                ondelete='CASCADE'),
        sa.PrimaryKeyConstraint('id'),
        sa.UniqueConstraint('user_id', 'product_id'))
    op.create_index('idx_product_id',
                    'favorite_product', ['product_id'],
                    unique=False)
Ejemplo n.º 9
0
def downgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('tweet', sa.Column('id', sa.INTEGER(), nullable=False),
                    sa.Column('text', sa.VARCHAR(length=140), nullable=True),
                    sa.PrimaryKeyConstraint('id'))
Ejemplo n.º 10
0
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.add_column('info_user',
                  sa.Column('addrs', sa.String(length=128), nullable=False))
    op.add_column('info_user',
                  sa.Column('job', sa.String(length=128), nullable=False))
Ejemplo n.º 11
0
class WanProjectTc(model_base.BASEV2, model_base.HasId, model_base.HasProject):
    __tablename__ = 'wan_project_tc'
    min = sa.Column(sa.String(15))
    max = sa.Column(sa.String(15))
def upgrade():
    op.create_table(
        "geofile",
        sa.Column("id", sa.Integer(), nullable=False),
        sa.Column("user_id", sa.Integer(), nullable=True),
        sa.Column("name", sa.String(42), nullable=False),
        sa.Column("original_name", sa.String(), nullable=False),
        sa.Column("extension", sa.String(7), nullable=False),
        sa.Column("checksum", sa.String(32), nullable=False),
        sa.Column("count", sa.Integer(), nullable=False),
        sa.Column("driver", sa.String(), nullable=True),
        sa.Column("crs", sa.String(), nullable=True, server_default=None),
        sa.Column("longitude_column", sa.String(), nullable=True),
        sa.Column("latitude_column", sa.String(), nullable=True),
        sa.Column("properties", sa.JSON(), nullable=True),
        sa.Column(
            "status",
            sa.Enum("uploaded", "imported", "importing", name="geofilestatus"),
            nullable=False,
            default="uploaded",
            server_default="uploaded",
        ),
        sa.Column("uploaded_date", sa.DateTime, nullable=False),
        sa.Column("imported_date", sa.DateTime, nullable=True),
        sa.Column("importing_start", sa.DateTime, nullable=True),
        sa.Column("public", sa.Boolean(), nullable=False, server_default=sa.false()),
        sa.ForeignKeyConstraint(["user_id"], ["user.id"], ondelete="CASCADE"),
        sa.UniqueConstraint("name"),
        sa.PrimaryKeyConstraint("id"),
    )

    op.create_index(op.f("ix_geofile_id"), "geofile", ["id"], unique=True)
    op.create_index(op.f("ix_geofile_name"), "geofile", ["name"], unique=True)
    op.create_index(op.f("ix_geofile_checksum"), "geofile", ["checksum"], unique=True)
Ejemplo n.º 13
0
import sqlalchemy

metadata = sqlalchemy.MetaData()

map_points_table = sqlalchemy.Table(
    "map_points_table",
    metadata,
    sqlalchemy.Column("id",
                      sqlalchemy.Integer,
                      primary_key=True,
                      autoincrement=True),
    sqlalchemy.Column("name", sqlalchemy.String(50)),
    sqlalchemy.Column("description", sqlalchemy.String()),
    sqlalchemy.Column("path_to_img", sqlalchemy.String()),
    sqlalchemy.Column("longitude", sqlalchemy.String()),
    sqlalchemy.Column("latitude", sqlalchemy.String()),
)
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.add_column('restaurants', sa.Column('rating', sa.Integer(), nullable=True))
    op.create_foreign_key(None, 'restaurants', 'categories', ['category_id'], ['id'])
    op.create_foreign_key(None, 'restaurants', 'neighborhoods', ['neighborhood_id'], ['id'])
Ejemplo n.º 15
0
class DACSector(db.Model):
    __tablename__ = 'dacsector'
    code = sa.Column(sa.Integer, primary_key=True)
    dac_sector_code = sa.Column(sa.Integer)
    dac_sector_name_EN = sa.Column(sa.UnicodeText)
    dac_sector_name_FR = sa.Column(sa.UnicodeText)
    dac_five_code = sa.Column(sa.Integer)
    dac_five_name_EN = sa.Column(sa.UnicodeText)
    dac_five_name_FR = sa.Column(sa.UnicodeText)
    description_EN = sa.Column(sa.UnicodeText)
    description_FR = sa.Column(sa.UnicodeText)
    notes_EN = sa.Column(sa.UnicodeText)
    notes_FR = sa.Column(sa.UnicodeText)

    @hybrid_property
    def dac_sector_name(self):
        if str(get_locale()) == "fr":
            return self.dac_sector_name_FR
        return self.dac_sector_name_EN

    @hybrid_property
    def dac_five_name(self):
        if str(get_locale()) == "fr":
            return self.dac_five_name_FR
        return self.dac_five_name_EN

    @hybrid_property
    def description(self):
        if str(get_locale()) == "fr":
            return self.description_FR
        return self.description_EN

    @hybrid_property
    def notes(self):
        if str(get_locale()) == "fr":
            return self.notes_FR
        return self.notes_EN
Ejemplo n.º 16
0
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('medias',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('media_id', sa.Integer(), nullable=True),
    sa.Column('post_id', sa.Integer(), nullable=False),
    sa.Column('link', sa.String(), nullable=True),
    sa.Column('directory', sa.String(), nullable=True),
    sa.Column('filename', sa.String(), nullable=True),
    sa.Column('size', sa.Integer(), nullable=True),
    sa.Column('media_type', sa.String(), nullable=True),
    sa.Column('downloaded', sa.Integer(), nullable=True),
    sa.Column('created_at', sa.DATETIME(), nullable=True),
    sa.PrimaryKeyConstraint('id'),
    sa.UniqueConstraint('media_id')
    )
    op.create_table('stories',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('post_id', sa.Integer(), nullable=False),
    sa.Column('text', sa.String(), nullable=True),
    sa.Column('price', sa.Integer(), nullable=True),
    sa.Column('paid', sa.Integer(), nullable=True),
    sa.Column('created_at', sa.DATETIME(), nullable=True),
    sa.PrimaryKeyConstraint('id'),
    sa.UniqueConstraint('post_id')
    )
Ejemplo n.º 17
0
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.add_column('interval_schedule', sa.Column('every', sa.Integer(), nullable=True))
def upgrade():
    ### commands auto generated by Alembic - please adjust! ###
    op.add_column('tb_stream_chunk_highlight', sa.Column('last_edited_by', sa.Integer(), nullable=True))
    op.create_foreign_key(None, 'tb_stream_chunk_highlight', 'tb_user', ['last_edited_by'], ['id'])
Ejemplo n.º 19
0
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.add_column('todos', sa.Column('completed', sa.Boolean(), nullable=True))
    op.execute('UPDATE todos SET completed = False Where completed Is NUll')
    op.alter_column('todos', 'completed', nullable=False)
Ejemplo n.º 20
0
        check.str_param(run_id, 'run_id')
        return run_id in self._runs

    def delete_run(self, run_id):
        check.str_param(run_id, 'run_id')
        del self._runs[run_id]

    def wipe(self):
        self._runs = OrderedDict()


RunStorageSQLMetadata = db.MetaData()
RunsTable = db.Table(
    'runs',
    RunStorageSQLMetadata,
    db.Column('id', db.Integer, primary_key=True, autoincrement=True),
    db.Column('run_id', db.String(255), unique=True),
    db.Column('pipeline_name', db.String),
    db.Column('status', db.String(63)),
    db.Column('run_body', db.String),
    db.Column('create_timestamp',
              db.DateTime,
              server_default=db.text('CURRENT_TIMESTAMP')),
    db.Column('update_timestamp',
              db.DateTime,
              server_default=db.text('CURRENT_TIMESTAMP')),
)

RunTagsTable = db.Table(
    'run_tags',
    RunStorageSQLMetadata,
Ejemplo n.º 21
0
"""

from alembic import op
import sqlalchemy as sa

# revision identifiers, used by Alembic.
revision = '582f09b464de'
down_revision = '97e2d9949db'


POLICY_NAME = 'wazo_default_admin_policy'
ACL_TEMPLATES = ['webhookd.#']

policy_table = sa.sql.table(
    'auth_policy', sa.Column('uuid', sa.String(38)), sa.Column('name', sa.String(80))
)
acl_template_table = sa.sql.table(
    'auth_acl_template', sa.Column('id', sa.Integer), sa.Column('template', sa.Text)
)
policy_template = sa.sql.table(
    'auth_policy_template',
    sa.Column('policy_uuid', sa.String(38)),
    sa.Column('template_id', sa.Integer),
)


def _find_acl_template(conn, acl_template):
    query = (
        sa.sql.select([acl_template_table.c.id])
        .where(acl_template_table.c.template == acl_template)
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('categories',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('author_id', sa.Integer(), nullable=True),
    sa.Column('name', sa.String(length=64), nullable=True),
    sa.ForeignKeyConstraint(['author_id'], ['users.id'], ),
    sa.PrimaryKeyConstraint('id'),
    # sa.UniqueConstraint('name')
    )
    op.create_table('roles',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('name', sa.String(length=64), nullable=True),
    sa.Column('default', sa.Boolean(), nullable=True),
    sa.Column('permissions', sa.Integer(), nullable=True),
    sa.PrimaryKeyConstraint('id'),
    sa.UniqueConstraint('name')
    )
    op.create_index(op.f('ix_roles_default'), 'roles', ['default'], unique=False)
    op.create_table('users',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('email', sa.String(length=64), nullable=True),
    sa.Column('username', sa.String(length=64), nullable=True),
    sa.Column('password_hash', sa.String(length=128), nullable=True),
    sa.Column('role_id', sa.Integer(), nullable=True),
    sa.Column('confirmed', sa.Boolean(), nullable=True),
    sa.Column('name', sa.String(length=64), nullable=True),
    sa.Column('location', sa.String(length=64), nullable=True),
    sa.Column('about_me', sa.Text(), nullable=True),
    sa.Column('member_since', sa.DateTime(), nullable=True),
    sa.Column('last_seen', sa.DateTime(), nullable=True),
    sa.Column('avatar_hash', sa.String(length=32), nullable=True),
    sa.ForeignKeyConstraint(['role_id'], ['roles.id'], ),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_index(op.f('ix_users_email'), 'users', ['email'], unique=True)
    op.create_index(op.f('ix_users_username'), 'users', ['username'], unique=True)
    op.create_table('follows',
    sa.Column('follower_id', sa.Integer(), nullable=False),
    sa.Column('followed_id', sa.Integer(), nullable=False),
    sa.Column('timestamp', sa.DateTime(), nullable=True),
    sa.ForeignKeyConstraint(['followed_id'], ['users.id'], ),
    sa.ForeignKeyConstraint(['follower_id'], ['users.id'], ),
    sa.PrimaryKeyConstraint('follower_id', 'followed_id')
    )
    op.create_table('posts',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('timestamp', sa.DateTime(), nullable=True),
    sa.Column('author_id', sa.Integer(), nullable=True),
    sa.Column('title', sa.String(length=64), nullable=True),
    sa.Column('body', sa.Text(), nullable=True),
    sa.Column('body_html', sa.Text(), nullable=True),
    sa.Column('summury', sa.Text(), nullable=True),
    sa.Column('summury_html', sa.Text(), nullable=True),
    sa.Column('category_id', sa.Integer(), nullable=True),
    sa.Column('is_public_disabled', sa.Boolean(), nullable=True),
    sa.Column('is_commented_disabled', sa.Boolean(), nullable=True),
    sa.ForeignKeyConstraint(['author_id'], ['users.id'], ),
    sa.ForeignKeyConstraint(['category_id'], ['categories.id'], ),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_index(op.f('ix_posts_timestamp'), 'posts', ['timestamp'], unique=False)
    op.create_table('comments',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('body', sa.Text(), nullable=True),
    sa.Column('body_html', sa.Text(), nullable=True),
    sa.Column('timestamp', sa.DateTime(), nullable=True),
    sa.Column('disabled', sa.Boolean(), nullable=True),
    sa.Column('author_id', sa.Integer(), nullable=True),
    sa.Column('post_id', sa.Integer(), nullable=True),
    sa.ForeignKeyConstraint(['author_id'], ['users.id'], ),
    sa.ForeignKeyConstraint(['post_id'], ['posts.id'], ),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_index(op.f('ix_comments_timestamp'), 'comments', ['timestamp'], unique=False)
Ejemplo n.º 23
0
def upgrade(pyramid_env):
    schema = config.get('db_schema') + "." + config.get('db_user')
    with context.begin_transaction():
        from assembl.models.notification import (
            NotificationSubscriptionClasses, NotificationCreationOrigin,
            NotificationSubscriptionStatus, NotificationEventSourceType,
            NotificationPushMethodType, NotificationDeliveryStateType,
            NotificationDeliveryConfirmationType)
        op.create_table('notification_subscription',
                        sa.Column('id', sa.Integer, primary_key=True),
                        sa.Column('type',
                                  NotificationSubscriptionClasses.db_type(),
                                  nullable=False,
                                  index=True),
                        sa.Column(
                            'discussion_id',
                            sa.Integer,
                            sa.ForeignKey('discussion.id',
                                          ondelete="CASCADE",
                                          onupdate="CASCADE"),
                            nullable=False,
                            index=True,
                        ),
                        sa.Column('creation_date',
                                  sa.DateTime,
                                  nullable=False,
                                  default=datetime.utcnow),
                        sa.Column('creation_date',
                                  sa.DateTime,
                                  nullable=False,
                                  default=datetime.utcnow),
                        sa.Column('creation_origin',
                                  NotificationCreationOrigin.db_type(),
                                  nullable=False),
                        sa.Column('parent_subscription_id',
                                  sa.Integer,
                                  sa.ForeignKey('notification_subscription.id',
                                                ondelete="CASCADE",
                                                onupdate="CASCADE"),
                                  nullable=True),
                        sa.Column(
                            'status',
                            NotificationSubscriptionStatus.db_type(),
                            nullable=False,
                            index=True,
                            default=NotificationSubscriptionStatus.ACTIVE),
                        sa.Column('last_status_change_date',
                                  sa.DateTime,
                                  nullable=False,
                                  default=datetime.utcnow),
                        sa.Column('user_id',
                                  sa.Integer,
                                  sa.ForeignKey('user.id',
                                                ondelete="CASCADE",
                                                onupdate="CASCADE"),
                                  nullable=False,
                                  index=True),
                        sa.Column(
                            'followed_object_id',
                            sa.Integer,
                            nullable=True,
                        ),
                        schema=schema)
        op.create_table(
            'notification',
            sa.Column('id', sa.Integer, primary_key=True),
            sa.Column('event_source_type',
                      NotificationEventSourceType.db_type(),
                      nullable=False),
            sa.Column('event_source_object_id', sa.Integer, nullable=False),
            sa.Column('first_matching_subscription_id',
                      sa.Integer,
                      sa.ForeignKey('notification_subscription.id',
                                    ondelete="CASCADE",
                                    onupdate="CASCADE"),
                      nullable=False),
            sa.Column('creation_date',
                      sa.DateTime,
                      nullable=False,
                      default=datetime.utcnow),
            sa.Column('push_method',
                      NotificationPushMethodType.db_type(),
                      nullable=False,
                      default=NotificationPushMethodType.EMAIL),
            sa.Column(
                'push_address',
                sa.UnicodeText,
                nullable=True,
            ),
            sa.Column(
                'push_date',
                sa.DateTime,
                nullable=True,
            ),
            sa.Column(
                'push_date',
                sa.DateTime,
                nullable=True,
            ),
            sa.Column('delivery_state',
                      NotificationDeliveryStateType.db_type(),
                      nullable=False,
                      default=NotificationDeliveryStateType.QUEUED),
            sa.Column('delivery_confirmation',
                      NotificationDeliveryConfirmationType.db_type(),
                      nullable=False,
                      default=NotificationDeliveryConfirmationType.NONE),
            sa.Column('delivery_confirmation_date',
                      sa.DateTime,
                      nullable=True,
                      default=datetime.utcnow),
            schema=schema)
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('user',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('public_id', sa.String(length=50), nullable=True),
    sa.Column('name', sa.String(length=80), nullable=True),
    sa.Column('password', sa.String(length=80), nullable=True),
    sa.Column('date_created', sa.DateTime(), nullable=True),
    sa.Column('date_modified', sa.DateTime(), nullable=True),
    sa.PrimaryKeyConstraint('id'),
    sa.UniqueConstraint('name'),
    sa.UniqueConstraint('public_id')
    )
    op.create_table('bucketlist',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('desc', sa.String(length=50), nullable=True),
    sa.Column('status', sa.Boolean(), nullable=True),
    sa.Column('user_id', sa.Integer(), nullable=True),
    sa.Column('date_created', sa.DateTime(), nullable=True),
    sa.Column('date_modified', sa.DateTime(), nullable=True),
    sa.ForeignKeyConstraint(['user_id'], ['user.id'], ),
    sa.PrimaryKeyConstraint('id'),
    sa.UniqueConstraint('desc')
    )
    op.create_table('session',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('user_id', sa.Integer(), nullable=True),
    sa.Column('token', sa.String(length=256), nullable=True),
    sa.ForeignKeyConstraint(['user_id'], ['user.public_id'], ),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_table('bucketlist_items',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('goal', sa.String(length=50), nullable=True),
    sa.Column('status', sa.Boolean(), nullable=True),
    sa.Column('bucket_id', sa.Integer(), nullable=True),
    sa.Column('date_created', sa.DateTime(), nullable=True),
    sa.Column('date_modified', sa.DateTime(), nullable=True),
    sa.ForeignKeyConstraint(['bucket_id'], ['bucketlist.id'], ),
    sa.PrimaryKeyConstraint('id'),
    sa.UniqueConstraint('goal')
    )
def upgrade():

    op.create_table(
        'aim_vmm_policies', sa.Column('type', sa.String(64), nullable=False),
        sa.Column('aim_id', sa.Integer, autoincrement=True),
        sa.Column('display_name', sa.String(256), nullable=False, default=''),
        sa.Column('monitored', sa.Boolean, nullable=False, default=False),
        sa.PrimaryKeyConstraint('aim_id'))

    session = api.get_session(expire_on_commit=True)
    old_vmm_table = sa.Table('aim_vmm_domains', sa.MetaData(),
                             sa.Column('type', sa.String(64), nullable=False),
                             sa.Column('name', sa.String(64), nullable=False))
    old_phys_table = sa.Table('aim_physical_domains', sa.MetaData(),
                              sa.Column('name', sa.String(64), nullable=False))

    mgr = aim_manager.AimManager()
    ctx = context.AimContext(db_session=session)
    new_vmms = []
    new_phys = []
    with session.begin(subtransactions=True):
        for vmm in session.query(old_vmm_table).all():
            new_vmms.append(
                resource.VMMDomain(type=vmm.type,
                                   name=vmm.name,
                                   monitored=True))
        for phys in session.query(old_phys_table).all():
            new_phys.append(
                resource.PhysicalDomain(name=phys.name, monitored=True))

    op.drop_table('aim_vmm_domains')
    op.drop_table('aim_physical_domains')

    op.create_table(
        'aim_vmm_domains', sa.Column('type', sa.String(64), nullable=False),
        sa.Column('name', sa.String(64), nullable=False),
        sa.Column('aim_id', sa.Integer, autoincrement=True),
        sa.Column('display_name', sa.String(256), nullable=False, default=''),
        sa.Column('monitored', sa.Boolean, nullable=False, default=False),
        sa.Column('enforcement_pref', sa.Enum('sw', 'hw', 'unknown')),
        sa.Column('mode', sa.Enum('default', 'n1kv', 'unknown', 'ovs', 'k8s')),
        sa.Column('mcast_address', sa.String(64)),
        sa.Column('encap_mode', sa.Enum('unknown', 'vlan', 'vxlan')),
        sa.Column('pref_encap_mode', sa.Enum('unspecified', 'vlan', 'vxlan')),
        sa.Column('vlan_pool_name', sa.String(64)),
        sa.Column('vlan_pool_type', sa.Enum('static', 'dynamic')),
        sa.Column('mcast_addr_pool_name', sa.String(64)),
        sa.PrimaryKeyConstraint('aim_id'),
        sa.UniqueConstraint('type',
                            'name',
                            name='uniq_aim_vmm_domains_identity'),
        sa.Index('idx_aim_vmm_domains_identity', 'type', 'name'))

    op.create_table(
        'aim_physical_domains', sa.Column('name',
                                          sa.String(64),
                                          nullable=False),
        sa.Column('aim_id', sa.Integer, autoincrement=True),
        sa.Column('display_name', sa.String(256), nullable=False, default=''),
        sa.Column('monitored', sa.Boolean, nullable=False, default=False),
        sa.PrimaryKeyConstraint('aim_id'))

    with session.begin(subtransactions=True):
        for obj in new_vmms + new_phys:
            mgr.create(ctx, obj)
Ejemplo n.º 26
0
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.add_column('users', sa.Column('pass_secure', sa.String(length=255), nullable=True))
    op.create_index(op.f('ix_users_username'), 'users', ['username'], unique=False)
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('comments', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('pitch_id', sa.Integer(), nullable=False),
                    sa.Column('user_id', sa.Integer(), nullable=False),
                    sa.Column('description', sa.Text(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['pitch_id'],
                        ['pitches.id'],
                    ), sa.ForeignKeyConstraint(
                        ['user_id'],
                        ['users.id'],
                    ), sa.PrimaryKeyConstraint('id'))
    op.create_table('downvotes', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('downvote', sa.Integer(), nullable=True),
                    sa.Column('pitch_id', sa.Integer(), nullable=True),
                    sa.Column('user_id', sa.Integer(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['pitch_id'],
                        ['pitches.id'],
                    ), sa.ForeignKeyConstraint(
                        ['user_id'],
                        ['users.id'],
                    ), sa.PrimaryKeyConstraint('id'))
    op.create_table('upvotes', sa.Column('id', sa.Integer(), nullable=False),
                    sa.Column('upvote', sa.Integer(), nullable=True),
                    sa.Column('pitch_id', sa.Integer(), nullable=True),
                    sa.Column('user_id', sa.Integer(), nullable=True),
                    sa.ForeignKeyConstraint(
                        ['pitch_id'],
                        ['pitches.id'],
                    ), sa.ForeignKeyConstraint(
                        ['user_id'],
                        ['users.id'],
                    ), sa.PrimaryKeyConstraint('id'))
Ejemplo n.º 28
0
class Activity(db.Model):
    __tablename__ = 'activity'
    iati_identifier = sa.Column(sa.UnicodeText, primary_key=True)
    activity_lang = sa.Column(sa.UnicodeText)
    default_currency = sa.Column(sa.UnicodeText)
    hierarchy = sa.Column(sa.UnicodeText)
    last_updated = sa.Column(sa.DateTime)
    reporting_org_id = sa.Column(
        act_ForeignKey("reportingorg.id"),
        nullable=False,
        index=True)
    reporting_org = sa.orm.relationship("ReportingOrg")
    funding_org = sa.Column(sa.UnicodeText)
    funding_org_ref = sa.Column(sa.UnicodeText)
    funding_org_type = sa.Column(sa.UnicodeText)
    extending_org = sa.Column(sa.UnicodeText)
    extending_org_ref = sa.Column(sa.UnicodeText)
    extending_org_type = sa.Column(sa.UnicodeText)
    implementing_org = sa.Column(sa.UnicodeText)
    implementing_org_ref = sa.Column(sa.UnicodeText)
    implementing_org_type = sa.Column(sa.UnicodeText)

    recipient_countries = act_relationship("RecipientCountries")

    flow_type = sa.Column(sa.UnicodeText)
    flow_type_code = sa.Column(sa.UnicodeText)

    aid_type = sa.orm.relationship("AidType")
    aid_type_code = sa.Column(
        act_ForeignKey("aidtype.code"),
        nullable=False,
        index=True)

    all_titles = act_relationship("Title")
    all_descriptions = act_relationship("Description")

    date_start_actual = sa.Column(sa.Date)
    date_start_planned = sa.Column(sa.Date)
    date_end_actual = sa.Column(sa.Date)
    date_end_planned = sa.Column(sa.Date)

    status_code = sa.Column(
        act_ForeignKey("activitystatus.code"),
        nullable=False,
        index=True)
    status = sa.orm.relationship("ActivityStatus")

    collaboration_type_code = sa.Column(
        act_ForeignKey("collaborationtype.code"),
        nullable=False,
        index=True)
    collaboration_type = sa.orm.relationship("CollaborationType")

    contact_organisation = sa.Column(sa.UnicodeText)
    contact_telephone = sa.Column(sa.UnicodeText)
    contact_email = sa.Column(sa.UnicodeText)
    contact_mailing_address = sa.Column(sa.UnicodeText)

    tied_status = sa.Column(sa.UnicodeText)
    tied_status_code = sa.Column(sa.UnicodeText)

    activity_website = sa.Column(sa.UnicodeText)

    sectors = act_relationship("Sector")

    participating_orgs = act_relationship("Participation")

    transactions = act_relationship("Transaction")

    forward_spend = act_relationship("ForwardSpend")

    capital_exp = sa.Column(sa.Float(precision=2))

    #documents = act_relationship("Document")

    @hybrid_property
    def total_commitments(self):
        return db.engine.execute(sa.select([sa.func.sum(Transaction.value)]).\
                where(Transaction.activity_iati_identifier==self.iati_identifier).\
                where(sa.or_(Transaction.transaction_type_code=="C", 
                    Transaction.transaction_type_code=="IC"))).first()[0]

    @hybrid_property
    def total_disbursements(self):
        return db.engine.execute(sa.select([sa.func.sum(Transaction.value)]).\
                where(Transaction.activity_iati_identifier==self.iati_identifier).\
                where(sa.or_(Transaction.transaction_type_code=="D",
                    Transaction.transaction_type_code=="E"))).first()[0]

    @hybrid_property
    def implementing_orgs(self):
        def filter_implementing(orgs):
            return orgs.role == "Implementing"
        return filter(filter_implementing, self.participating_orgs)

    @hybrid_property
    def titles(self):
        def filter_titles(title):
            return title.lang == str(get_locale())
        relevant_titles = filter(filter_titles, self.all_titles)
        if not relevant_titles:
            return self.all_titles
        return relevant_titles

    @hybrid_property
    def country_pcts(self):
        countries = self.recipient_countries
        return dict(map(lambda c: (c.recipient_country_code, 
                                   "{0:.2f}".format(c.percentage)), 
                       countries))

    @hybrid_property
    def country_pcts_float(self):
        countries = self.recipient_countries
        return dict(map(lambda c: (c.recipient_country_code, 
                                   c.percentage), 
                       countries))

    @hybrid_property
    def descriptions(self):
        def filter_descriptions(description):
            return description.lang == str(get_locale())
        relevant_descriptions = filter(filter_descriptions,
                                       self.all_descriptions)
        if not relevant_descriptions:
            return self.all_descriptions
        return relevant_descriptions

    @hybrid_method
    def FY_forward_spend_dict(self, recipient_country):
        fydata = db.engine.execute(FWDDATA_QUERY % 
                        (recipient_country.fiscalyear_modifier,
                         self.iati_identifier)
                                  ).fetchall()
        return {
                    "{}".format(fyval.fiscal_year): {
                    "fiscal_year": fyval.fiscal_year,
                    "value": round(fyval.value, 2)
                    }
                    for fyval in fydata
                }

    @hybrid_method
    def FY_disbursements_dict(self, recipient_country):
        fydata = db.engine.execute(FYDATA_QUERY % 
                        (recipient_country.fiscalyear_modifier,
                         recipient_country.fiscalyear_modifier,
                         recipient_country.fiscalyear_modifier,
                         recipient_country.fiscalyear_modifier,
                         recipient_country.fiscalyear_modifier,
                         self.iati_identifier, "D','E")
                                  ).fetchall()
        return {
                    "{} {}".format(fyval.fiscal_year, fyval.fiscal_quarter): {
                    "fiscal_year": fyval.fiscal_year,
                    "fiscal_quarter": fyval.fiscal_quarter,
                    "value": round(fyval.value, 2)
                    }
                    for fyval in fydata
                }

    @hybrid_method
    def FY_commitments_dict(self, recipient_country):
        fydata = db.engine.execute(FYDATA_QUERY % 
                        (recipient_country.fiscalyear_modifier,
                         recipient_country.fiscalyear_modifier,
                         recipient_country.fiscalyear_modifier,
                         recipient_country.fiscalyear_modifier,
                         recipient_country.fiscalyear_modifier,
                         self.iati_identifier, "C','IC")
                                  ).fetchall()
        return {
                    "{} {}".format(fyval.fiscal_year, fyval.fiscal_quarter): {
                    "fiscal_year": fyval.fiscal_year,
                    "fiscal_quarter": fyval.fiscal_quarter,
                    "value": fyval.value
                    }
                    for fyval in fydata
                }
    @hybrid_method
    def FY_disbursements(self, recipient_country):
        country_pct = self.country_pcts_float[recipient_country.code]
        fydata = db.engine.execute(FYDATA_QUERY % 
                        (recipient_country.fiscalyear_modifier,
                         recipient_country.fiscalyear_modifier,
                         recipient_country.fiscalyear_modifier,
                         recipient_country.fiscalyear_modifier,
                         recipient_country.fiscalyear_modifier,
                         self.iati_identifier, "D','E")
                                  ).fetchall()
        return [{
                    "fiscal_year": fyval.fiscal_year,
                    "fiscal_quarter": fyval.fiscal_quarter,
                    "value": "{:,.2f}".format(fyval.value),
                    "value_country": "{:,.2f}".format(fyval.value * country_pct/100)
                }
                for fyval in fydata]

    @hybrid_method
    def FY_commitments(self, recipient_country):
        country_pct = self.country_pcts_float[recipient_country.code]
        fydata = db.engine.execute(FYDATA_QUERY % 
                        (recipient_country.fiscalyear_modifier,
                         recipient_country.fiscalyear_modifier,
                         recipient_country.fiscalyear_modifier,
                         recipient_country.fiscalyear_modifier,
                         recipient_country.fiscalyear_modifier,
                         self.iati_identifier, "C','IC")
                                  ).fetchall()
        return  [{
                    "fiscal_year": fyval.fiscal_year,
                    "fiscal_quarter": fyval.fiscal_quarter,
                    "value": "{:,.2f}".format(fyval.value),
                    "value_country": "{:,.2f}".format(fyval.value * country_pct/100)
                }
                for fyval in fydata]


    @hybrid_method
    def FY_forward_spend(self, recipient_country):
        country_pct = self.country_pcts_float[recipient_country.code]
        fydata = db.engine.execute(FWDDATA_QUERY % 
                        (recipient_country.fiscalyear_modifier,
                         self.iati_identifier)
                                  ).fetchall()
        return [{
                    "fiscal_year": fyval.fiscal_year,
                    "value": "{:,.2f}".format(fyval.value),
                    "value_country": "{:,.2f}".format(fyval.value * country_pct/100)
                }
                for fyval in fydata]

    @hybrid_property
    def finance_types(self):
        return db.session.query(FinanceType
            ).distinct(FinanceType.code
            ).join(Transaction
            ).filter(Transaction.activity_iati_identifier == self.iati_identifier
            ).filter(Transaction.activity_iati_identifier == self.iati_identifier).all()
def upgrade():

    # remove unused tables
    op.drop_table('audio_collection_supervisors')
    op.drop_table('audio_collection_status_log')

    # album meta categories
    op.drop_column(u'album_meta_categories', 'audio_collection_id')
    op.add_column(u'album_meta_categories',
                  sa.Column('task_id', sa.INTEGER(), nullable=False))
    op.create_index('album_meta_categories_by_task_id',
                    'album_meta_categories', ['task_id'],
                    unique=False)
    op.create_unique_constraint('album_meta_categories_task_id_name_key',
                                'album_meta_categories', ['task_id', 'name'])
    op.create_foreign_key('album_meta_categories_task_id_fkey',
                          'album_meta_categories', 'tasks', ['task_id'],
                          ['taskid'])

    # albums
    op.drop_column(u'albums', 'audio_collection_id')
    op.add_column(u'albums', sa.Column('task_id', sa.INTEGER(),
                                       nullable=False))
    op.create_index('albums_by_task_id', 'albums', ['task_id'], unique=False)
    op.create_foreign_key('albums_task_id_fkey', 'albums', 'tasks',
                          ['task_id'], ['taskid'])

    # meta data change log
    op.drop_column(u'meta_data_change_log', 'audio_collection_id')
    op.add_column(u'meta_data_change_log',
                  sa.Column('task_id', sa.INTEGER(), nullable=False))
    op.create_index('meta_data_change_log_by_task_id',
                    'meta_data_change_log', ['task_id'],
                    unique=False)
    op.create_foreign_key('meta_data_change_log_task_id_fkey',
                          'meta_data_change_log', 'tasks', ['task_id'],
                          ['taskid'])

    # meta data change requests
    op.drop_column(u'meta_data_change_requests', 'audio_collection_id')
    op.add_column(u'meta_data_change_requests',
                  sa.Column('task_id', sa.INTEGER(), nullable=False))
    op.create_index('meta_data_change_requests_by_task_id',
                    'meta_data_change_requests', ['task_id'],
                    unique=False)
    op.create_foreign_key('meta_data_change_requests_task_id_fkey',
                          'meta_data_change_requests', 'tasks', ['task_id'],
                          ['taskid'])

    # performance flags
    op.drop_column(u'performance_flags', 'audio_collection_id')
    op.add_column(u'performance_flags',
                  sa.Column('task_id', sa.INTEGER(), nullable=False))
    op.create_index('performance_flags_by_task_id',
                    'performance_flags', ['task_id'],
                    unique=False)
    op.create_unique_constraint('performance_flags_task_id_name_key',
                                'performance_flags', ['task_id', 'name'])
    op.create_foreign_key('performance_flags_task_id_fkey',
                          'performance_flags', 'tasks', ['task_id'],
                          ['taskid'])

    # recording flags
    op.drop_column(u'recording_flags', 'audio_collection_id')
    op.add_column(u'recording_flags',
                  sa.Column('task_id', sa.INTEGER(), nullable=False))
    op.create_index('recording_flags_by_task_id',
                    'recording_flags', ['task_id'],
                    unique=False)
    op.create_unique_constraint('recording_flags_task_id_name_key',
                                'recording_flags', ['task_id', 'name'])
    op.create_foreign_key('recording_flags_task_id_fkey', 'recording_flags',
                          'tasks', ['task_id'], ['taskid'])

    # recording platforms
    op.drop_column(u'recording_platforms', 'audio_collection_id')
    op.add_column(u'recording_platforms',
                  sa.Column('task_id', sa.INTEGER(), nullable=False))
    op.create_index('recording_platforms_by_task_id',
                    'recording_platforms', ['task_id'],
                    unique=False)
    op.create_foreign_key('recording_platforms_task_id_fkey',
                          'recording_platforms', 'tasks', ['task_id'],
                          ['taskid'])

    # speaker meta categories
    op.drop_column(u'speaker_meta_categories', 'audio_collection_id')
    op.add_column(u'speaker_meta_categories',
                  sa.Column('task_id', sa.INTEGER(), nullable=False))
    op.create_index('speaker_meta_categories_by_task_id',
                    'speaker_meta_categories', ['task_id'],
                    unique=False)
    op.create_unique_constraint('speaker_meta_categories_task_id_name_key',
                                'speaker_meta_categories', ['task_id', 'name'])
    op.create_foreign_key('speaker_meta_categories_task_id_fkey',
                          'speaker_meta_categories', 'tasks', ['task_id'],
                          ['taskid'])

    # speakers
    op.drop_column(u'speakers', 'audio_collection_id')
    op.add_column(u'speakers',
                  sa.Column('task_id', sa.INTEGER(), nullable=False))
    op.create_index('speakers_by_task_id',
                    'speakers', ['task_id'],
                    unique=False)
    op.create_unique_constraint('speakers_task_id_identifier_key', 'speakers',
                                ['task_id', 'identifier'])
    op.create_foreign_key('speakers_task_id_fkey', 'speakers', 'tasks',
                          ['task_id'], ['taskid'])
Ejemplo n.º 30
0
def upgrade():
    ### commands auto generated by Alembic - please adjust! ###
    with op.batch_alter_table('cbom_row', schema=None) as batch_op:
        batch_op.add_column(sa.Column('MOQ', sa.Integer(), nullable=True))