def do_upgrade():
    """ Implement your upgrades here  """
    if not op.has_table('remoteACCOUNT'):
        op.create_table(
            'remoteACCOUNT',
            db.Column('id', db.Integer(display_width=15), nullable=False),
            db.Column('user_id', db.Integer(display_width=15), nullable=False),
            db.Column('client_id', db.String(length=255), nullable=False),
            db.Column('extra_data', db.JSON, nullable=True),
            db.ForeignKeyConstraint(['user_id'], ['user.id'], ),
            db.PrimaryKeyConstraint('id'),
            db.UniqueConstraint('user_id', 'client_id'),
            mysql_charset='utf8',
            mysql_engine='MyISAM'
        )
    else:
        warnings.warn("*** Creation of table 'remoteACCOUNT table skipped!'")

    if not op.has_table('remoteTOKEN'):
        op.create_table(
            'remoteTOKEN',
            db.Column('id_remote_account', db.Integer(display_width=15),
                      nullable=False),
            db.Column('token_type', db.String(length=40), nullable=False),
            db.Column('access_token', db.Text(), nullable=False),
            db.Column('secret', db.Text(), nullable=False),
            db.ForeignKeyConstraint(['id_remote_account'],
                                    ['remoteACCOUNT.id'], ),
            db.PrimaryKeyConstraint('id_remote_account', 'token_type'),
            mysql_charset='utf8',
            mysql_engine='MyISAM'
        )
    else:
        warnings.warn("*** Creation of table 'remoteTOKEN' skipped!'")
def do_upgrade():
    """Implement your upgrades here."""
    op.create_table('communityFEATURED',
                    db.Column('id', db.Integer(), nullable=False),
                    db.Column('id_community', db.String(length=100),
                              nullable=False),
                    db.Column('start_date', db.DateTime(), nullable=False),
                    db.ForeignKeyConstraint(['id_community'],
                                            ['community.id'], ),
                    db.PrimaryKeyConstraint('id'),
                    mysql_charset='utf8',
                    mysql_engine='MyISAM'
                    )
def do_upgrade():
    """Implement your upgrades here."""
    if not op.has_table("record_json"):
        op.create_table(
            'record_json',
            sa.Column('id', db.MediumInteger(8, unsigned=True),
                      nullable=False),
            sa.Column('json', db.JSON, nullable=False),
            sa.ForeignKeyConstraint(['id'], ['bibrec.id'], ),
            sa.PrimaryKeyConstraint('id'),
            mysql_charset='utf8',
            mysql_engine='MyISAM'
        )
    else:
        warnings.warn("*** Creation of 'record_json' table skipped! ***")
Esempio n. 4
0
def do_upgrade():
    """Implement your upgrades here."""
    if not op.has_table("record_json"):
        op.create_table(
            'record_json',
            sa.Column('id', db.MediumInteger(8, unsigned=True),
                      nullable=False),
            sa.Column('json', db.JSON, nullable=False),
            sa.ForeignKeyConstraint(['id'], ['bibrec.id'], ),
            sa.PrimaryKeyConstraint('id'),
            mysql_charset='utf8',
            mysql_engine='MyISAM'
        )
    else:
        warnings.warn("*** Creation of 'record_json' table skipped! ***")
def do_upgrade():
    """ Implement your upgrades here  """
    op.create_table(
        "pages",
        db.Column("id", mysql.INTEGER(display_width=15), nullable=False),
        db.Column("url", db.String(length=100), nullable=False),
        db.Column("title", db.String(length=200), nullable=True),
        db.Column("content", db.TEXT(length=4294967294), nullable=True),
        db.Column("template_name", db.String(length=70), nullable=True),
        db.Column("created", db.DateTime(), nullable=False),
        db.Column("last_modified", db.DateTime(), nullable=False),
        db.PrimaryKeyConstraint("id"),
        db.UniqueConstraint("url"),
        mysql_charset="utf8",
        mysql_engine="MyISAM",
    )
def do_upgrade():
    """Add the table with facets configuration."""
    if not op.has_table('facet_collection'):
        op.create_table(
            'facet_collection',
            db.Column('id', mysql.INTEGER(), nullable=False),
            db.Column('id_collection', mysql.INTEGER(), nullable=False),
            db.Column('order', mysql.INTEGER(), nullable=False),
            db.Column('facet_name', db.String(length=80), nullable=False),
            db.ForeignKeyConstraint(['id_collection'], ['collection.id'], ),
            db.PrimaryKeyConstraint('id'),
            mysql_charset='utf8',
            mysql_engine='MyISAM'
        )
    else:
        warnings.warn("*** Creation of table 'facet_collection' skipped!")
def do_upgrade():
    """ Implement your upgrades here  """
    op.create_table(
        'pages',
        db.Column('id', mysql.INTEGER(display_width=15), nullable=False),
        db.Column('url', db.String(length=100), nullable=False),
        db.Column('title', db.String(length=200), nullable=True),
        db.Column('content', db.TEXT(length=4294967294), nullable=True),
        db.Column('template_name', db.String(length=70), nullable=True),
        db.Column('created', db.DateTime(), nullable=False),
        db.Column('last_modified', db.DateTime(), nullable=False),
        db.PrimaryKeyConstraint('id'),
        db.UniqueConstraint('url'),
        mysql_charset='utf8',
        mysql_engine='MyISAM'
    )
def do_upgrade():
    """Implement your upgrades here."""
    if not op.has_table("wtgTAG"):
        op.create_table(
            'wtgTAG',
            sa.Column('id', mysql.INTEGER(display_width=15), nullable=False),
            sa.Column('name', sa.String(length=255),
                      server_default='', nullable=False, index=True),
            sa.Column('id_user', mysql.INTEGER(display_width=15),
                      server_default='0', nullable=True),
            sa.Column('user_access_rights', mysql.INTEGER(
                display_width=2), nullable=False),
            sa.Column('id_usergroup', mysql.INTEGER(
                display_width=15), server_default='0', nullable=True),
            sa.Column('group_access_rights', mysql.INTEGER(
                display_width=2), nullable=False),
            sa.Column('public_access_rights', mysql.INTEGER(
                display_width=2), nullable=False),
            sa.Column('show_in_description', sa.Boolean(), nullable=False),
            sa.ForeignKeyConstraint(['id_user'], ['user.id'], ),
            sa.ForeignKeyConstraint(['id_usergroup'], ['usergroup.id'], ),
            sa.PrimaryKeyConstraint('id'),
            mysql_charset='utf8',
            mysql_engine='MyISAM'
        )
    else:
        warnings.warn("*** Creation of 'wtgTAG' table skipped! ***")

    if not op.has_table("wtgTAG_bibrec"):
        op.create_table(
            'wtgTAG_bibrec',
            sa.Column(
                'id_tag', mysql.INTEGER(display_width=15), nullable=False),
            sa.Column(
                'id_bibrec', mysql.INTEGER(display_width=15), nullable=False),
            sa.Column(
                'annotation', sa.Text(convert_unicode=True), nullable=True),
            sa.Column('date_added', sa.DateTime(), nullable=True),
            sa.ForeignKeyConstraint(['id_bibrec'], ['bibrec.id'], ),
            sa.ForeignKeyConstraint(['id_tag'], ['wtgTAG.id'], ),
            sa.PrimaryKeyConstraint('id_tag', 'id_bibrec'),
            mysql_charset='utf8',
            mysql_engine='MyISAM'
        )
    else:
        warnings.warn("*** Creation of 'wtgTAG_bibrec' table skipped! ***")
Esempio n. 9
0
def do_upgrade():
    """Implement your upgrades here."""
    if not op.has_table('remoteACCOUNT'):
        op.create_table('remoteACCOUNT',
                        db.Column('id',
                                  db.Integer(display_width=15),
                                  nullable=False),
                        db.Column('user_id',
                                  db.Integer(display_width=15),
                                  nullable=False),
                        db.Column('client_id',
                                  db.String(length=255),
                                  nullable=False),
                        db.Column('extra_data', db.JSON, nullable=True),
                        db.ForeignKeyConstraint(
                            ['user_id'],
                            ['user.id'],
                        ),
                        db.PrimaryKeyConstraint('id'),
                        db.UniqueConstraint('user_id', 'client_id'),
                        mysql_charset='utf8',
                        mysql_engine='MyISAM')
    else:
        warnings.warn("*** Creation of table 'remoteACCOUNT table skipped!'")

    if not op.has_table('remoteTOKEN'):
        op.create_table('remoteTOKEN',
                        db.Column('id_remote_account',
                                  db.Integer(display_width=15),
                                  nullable=False),
                        db.Column('token_type',
                                  db.String(length=40),
                                  nullable=False),
                        db.Column('access_token', db.Text(), nullable=False),
                        db.Column('secret', db.Text(), nullable=False),
                        db.ForeignKeyConstraint(
                            ['id_remote_account'],
                            ['remoteACCOUNT.id'],
                        ),
                        db.PrimaryKeyConstraint('id_remote_account',
                                                'token_type'),
                        mysql_charset='utf8',
                        mysql_engine='MyISAM')
    else:
        warnings.warn("*** Creation of table 'remoteTOKEN' skipped!'")
def do_upgrade():
    """Implement your upgrades here."""
    if not op.has_table('pidSTORE'):
        op.create_table(
            'pidSTORE',
            sa.Column('id', mysql.INTEGER(display_width=15), nullable=False),
            sa.Column('pid_type', sa.String(length=6), nullable=False),
            sa.Column('pid_value', sa.String(length=255), nullable=False),
            sa.Column('pid_provider', sa.String(length=255), nullable=False),
            sa.Column('status', sa.CHAR(length=1), nullable=False, index=True),
            sa.Column('object_type', sa.String(length=3), nullable=True),
            sa.Column('object_value', sa.String(length=255), nullable=True),
            sa.Column('created', sa.DateTime(), nullable=False),
            sa.Column('last_modified', sa.DateTime(), nullable=False),
            sa.PrimaryKeyConstraint('id'),
            sa.Index('idx_object', 'object_type', 'object_value',
                     unique=False),
            sa.Index('uidx_type_pid', 'pid_type', 'pid_value', unique=True),
        )
    else:
        warnings.warn("*** Creation of 'pidSTORE' table skipped! ***")

    if not op.has_table('pidLOG'):
        op.create_table(
            'pidLOG',
            sa.Column('id', mysql.INTEGER(display_width=15), nullable=False),
            sa.Column('id_pid', mysql.INTEGER(display_width=15),
                      nullable=True),
            sa.Column('timestamp', sa.DateTime(), nullable=False),
            sa.Column('action',
                      sa.String(length=10),
                      nullable=False,
                      index=True),
            sa.Column('message', sa.Text(), nullable=False),
            sa.ForeignKeyConstraint(
                ['id_pid'],
                ['pidSTORE.id'],
            ), sa.PrimaryKeyConstraint('id'))
    else:
        warnings.warn("*** Creation of 'pidLOG' table skipped! ***")
def do_upgrade():
    """Implement your upgrades here."""
    if not op.has_table('pidSTORE'):
        op.create_table(
            'pidSTORE',
            sa.Column('id', mysql.INTEGER(display_width=15), nullable=False),
            sa.Column('pid_type', sa.String(length=6), nullable=False),
            sa.Column('pid_value', sa.String(length=255), nullable=False),
            sa.Column('pid_provider', sa.String(length=255), nullable=False),
            sa.Column('status', sa.CHAR(length=1), nullable=False, index=True),
            sa.Column('object_type', sa.String(length=3), nullable=True),
            sa.Column('object_value', sa.String(length=255), nullable=True),
            sa.Column('created', sa.DateTime(), nullable=False),
            sa.Column('last_modified', sa.DateTime(), nullable=False),
            sa.PrimaryKeyConstraint('id'),
            sa.Index('idx_object', 'object_type', 'object_value',
                     unique=False),
            sa.Index('uidx_type_pid', 'pid_type', 'pid_value', unique=True),
        )
    else:
        warnings.warn("*** Creation of 'pidSTORE' table skipped! ***")

    if not op.has_table('pidLOG'):
        op.create_table(
            'pidLOG',
            sa.Column('id', mysql.INTEGER(display_width=15), nullable=False),
            sa.Column('id_pid', mysql.INTEGER(display_width=15),
                      nullable=True),
            sa.Column('timestamp', sa.DateTime(), nullable=False),
            sa.Column('action', sa.String(length=10), nullable=False,
                      index=True),
            sa.Column('message', sa.Text(), nullable=False),
            sa.ForeignKeyConstraint(['id_pid'], ['pidSTORE.id'], ),
            sa.PrimaryKeyConstraint('id')
        )
    else:
        warnings.warn("*** Creation of 'pidLOG' table skipped! ***")
def do_upgrade():
    """Perfrom upgrade."""
    if op.has_table('usergroup'):
        op.rename_table(old_table_name='usergroup', new_table_name='group')
        with op.batch_alter_table("group") as batch_op:
            batch_op.drop_index('ix_usergroup_name')
            batch_op.create_index('ix_group_name', ['name'], unique=True)
            batch_op.alter_column('name', server_default=None)
            batch_op.add_column(
                db.Column('is_managed',
                          db.Boolean(),
                          nullable=False,
                          default=False))
            batch_op.alter_column(column_name='join_policy',
                                  new_column_name='privacy_policy',
                                  type_=db.String(length=1),
                                  nullable=False)
            batch_op.drop_index('login_method_name')
            batch_op.alter_column(column_name='login_method',
                                  new_column_name='subscription_policy',
                                  type_=db.String(length=1),
                                  nullable=False,
                                  server_default=None)
            batch_op.add_column(
                db.Column('created',
                          db.DateTime(),
                          nullable=False,
                          default=datetime.now))
            batch_op.add_column(
                db.Column('modified',
                          db.DateTime(),
                          nullable=False,
                          default=datetime.now,
                          onupdate=datetime.now))
    else:
        op.create_table('group',
                        db.Column('id',
                                  db.Integer(15, unsigned=True),
                                  nullable=False,
                                  autoincrement=True),
                        db.Column('name',
                                  db.String(length=255),
                                  nullable=False,
                                  unique=True,
                                  index=True),
                        db.Column('description',
                                  db.Text,
                                  nullable=True,
                                  default=''),
                        db.Column('is_managed',
                                  db.Boolean(),
                                  default=False,
                                  nullable=False),
                        db.Column('privacy_policy',
                                  db.String(length=1),
                                  nullable=False),
                        db.Column('subscription_policy',
                                  db.String(length=1),
                                  nullable=False),
                        db.Column('created',
                                  db.DateTime,
                                  nullable=False,
                                  default=datetime.now),
                        db.Column('modified',
                                  db.DateTime,
                                  nullable=False,
                                  default=datetime.now,
                                  onupdate=datetime.now),
                        db.PrimaryKeyConstraint('id'),
                        mysql_charset='utf8',
                        mysql_engine='MyISAM')

    if op.has_table('user_usergroup'):
        op.rename_table(old_table_name='user_usergroup',
                        new_table_name='groupMEMBER')
        with op.batch_alter_table("groupMEMBER") as batch_op:
            batch_op.drop_index('id_usergroup')
            batch_op.alter_column('id_user', server_default=None)
            batch_op.alter_column(column_name='id_usergroup',
                                  new_column_name='id_group',
                                  existing_type=db.Integer(15, unsigned=True),
                                  nullable=False)
            batch_op.create_index('id_group', ['id_group'])
            batch_op.alter_column(column_name='user_status',
                                  new_column_name='state',
                                  type_=db.String(length=1),
                                  nullable=False)
            batch_op.drop_column('user_status_date')
            batch_op.add_column(
                db.Column('modified',
                          db.DateTime(),
                          nullable=False,
                          default=datetime.now,
                          onupdate=datetime.now))
            batch_op.add_column(
                db.Column('created',
                          db.DateTime(),
                          nullable=False,
                          default=datetime.now))
    else:
        op.create_table('groupMEMBER',
                        db.Column('id_user',
                                  db.Integer(15, unsigned=True),
                                  nullable=False),
                        db.Column('id_group', db.Integer(15, unsigned=True)),
                        db.Column('state', db.String(length=1),
                                  nullable=False),
                        db.Column('created',
                                  db.DateTime(),
                                  nullable=False,
                                  default=datetime.now),
                        db.Column('modified',
                                  db.DateTime(),
                                  nullable=False,
                                  default=datetime.now,
                                  onupdate=datetime.now),
                        db.ForeignKeyConstraint(
                            ['id_group'],
                            [u'group.id'],
                        ),
                        db.ForeignKeyConstraint(
                            ['id_user'],
                            [u'user.id'],
                        ),
                        db.PrimaryKeyConstraint('id_user', 'id_group'),
                        mysql_charset='utf8',
                        mysql_engine='MyISAM')

    op.create_table('groupADMIN',
                    db.Column('id',
                              db.Integer(15, unsigned=True),
                              nullable=False,
                              autoincrement=True),
                    db.Column('group_id', db.Integer(15, unsigned=True)),
                    db.Column('admin_type', db.Unicode(255)),
                    db.Column('admin_id', db.Integer),
                    db.ForeignKeyConstraint(
                        ['group_id'],
                        [u'group.id'],
                    ),
                    db.PrimaryKeyConstraint('id', 'group_id'),
                    mysql_charset='utf8',
                    mysql_engine='MyISAM')
Esempio n. 13
0
def do_upgrade():
    """Implement your upgrades here."""
    if not op.has_table("wtgTAG"):
        op.create_table('wtgTAG',
                        sa.Column('id',
                                  mysql.INTEGER(display_width=15),
                                  nullable=False),
                        sa.Column('name',
                                  sa.String(length=255),
                                  server_default='',
                                  nullable=False,
                                  index=True),
                        sa.Column('id_user',
                                  mysql.INTEGER(display_width=15),
                                  server_default='0',
                                  nullable=True),
                        sa.Column('user_access_rights',
                                  mysql.INTEGER(display_width=2),
                                  nullable=False),
                        sa.Column('id_usergroup',
                                  mysql.INTEGER(display_width=15),
                                  server_default='0',
                                  nullable=True),
                        sa.Column('group_access_rights',
                                  mysql.INTEGER(display_width=2),
                                  nullable=False),
                        sa.Column('public_access_rights',
                                  mysql.INTEGER(display_width=2),
                                  nullable=False),
                        sa.Column('show_in_description',
                                  sa.Boolean(),
                                  nullable=False),
                        sa.ForeignKeyConstraint(
                            ['id_user'],
                            ['user.id'],
                        ),
                        sa.ForeignKeyConstraint(
                            ['id_usergroup'],
                            ['usergroup.id'],
                        ),
                        sa.PrimaryKeyConstraint('id'),
                        mysql_charset='utf8',
                        mysql_engine='MyISAM')
    else:
        warnings.warn("*** Creation of 'wtgTAG' table skipped! ***")

    if not op.has_table("wtgTAG_bibrec"):
        op.create_table('wtgTAG_bibrec',
                        sa.Column('id_tag',
                                  mysql.INTEGER(display_width=15),
                                  nullable=False),
                        sa.Column('id_bibrec',
                                  mysql.INTEGER(display_width=15),
                                  nullable=False),
                        sa.Column('annotation',
                                  sa.Text(convert_unicode=True),
                                  nullable=True),
                        sa.Column('date_added', sa.DateTime(), nullable=True),
                        sa.ForeignKeyConstraint(
                            ['id_bibrec'],
                            ['bibrec.id'],
                        ),
                        sa.ForeignKeyConstraint(
                            ['id_tag'],
                            ['wtgTAG.id'],
                        ),
                        sa.PrimaryKeyConstraint('id_tag', 'id_bibrec'),
                        mysql_charset='utf8',
                        mysql_engine='MyISAM')
    else:
        warnings.warn("*** Creation of 'wtgTAG_bibrec' table skipped! ***")
Esempio n. 14
0
def do_upgrade():
    """Implement your upgrades here."""
    if not op.has_table('bwlWORKFLOW'):
        op.create_table(
            'bwlWORKFLOW',
            sa.Column('uuid', sa.String(length=36), nullable=False),
            sa.Column('name', sa.String(length=255), nullable=False),
            sa.Column('created', sa.DateTime(), nullable=False),
            sa.Column('modified', sa.DateTime(), nullable=False),
            sa.Column('id_user', mysql.INTEGER(), nullable=False),
            sa.Column('_extra_data', sa.LargeBinary(), nullable=False),
            sa.Column('status', mysql.INTEGER(), nullable=False),
            sa.Column(
                'current_object', mysql.INTEGER(), nullable=False),
            sa.Column(
                'counter_initial', mysql.INTEGER(), nullable=False),
            sa.Column(
                'counter_halted', mysql.INTEGER(), nullable=False),
            sa.Column(
                'counter_error', mysql.INTEGER(), nullable=False),
            sa.Column(
                'counter_finished', mysql.INTEGER(), nullable=False),
            sa.Column(
                'module_name', sa.String(length=64), nullable=False),
            sa.PrimaryKeyConstraint('uuid'),
            mysql_charset='utf8',
            mysql_engine='MyISAM'
        )
    else:
        warnings.warn("*** Creation of 'bwlWORKFLOW' table skipped! ***")

    if not op.has_table('bwlOBJECT'):
        op.create_table(
            'bwlOBJECT',
            sa.Column('id', mysql.INTEGER(), nullable=False),
            sa.Column('_data', sa.LargeBinary(), nullable=False),
            sa.Column('_extra_data', sa.LargeBinary(), nullable=False),
            sa.Column(
                'id_workflow', sa.String(length=36), nullable=True),
            sa.Column(
                'version', mysql.INTEGER(display_width=3), nullable=False),
            sa.Column('id_parent', mysql.INTEGER(), nullable=True),
            sa.Column('created', sa.DateTime(), nullable=False),
            sa.Column('modified', sa.DateTime(), nullable=False),
            sa.Column('status', sa.String(length=255), nullable=False),
            sa.Column(
                'data_type', sa.String(length=150), nullable=True),
            sa.Column('uri', sa.String(length=500), nullable=True),
            sa.Column('id_user', mysql.INTEGER(), nullable=False),
            sa.ForeignKeyConstraint(['id_parent'], ['bwlOBJECT.id'], ),
            sa.ForeignKeyConstraint(
                ['id_workflow'], ['bwlWORKFLOW.uuid'], ),
            sa.PrimaryKeyConstraint('id'),
            mysql_charset='utf8',
            mysql_engine='MyISAM'
        )
    else:
        warnings.warn("*** Creation of 'bwlOBJECT' table skipped! ***")

    if not op.has_table('bwlWORKFLOWLOGGING'):
        op.create_table(
            'bwlWORKFLOWLOGGING',
            sa.Column('id', mysql.INTEGER(), nullable=False),
            sa.Column(
                'id_object', sa.String(length=255), nullable=False),
            sa.Column('log_type', mysql.INTEGER(), nullable=False),
            sa.Column('created', sa.DateTime(), nullable=True),
            sa.Column('message', sa.TEXT(), nullable=False),
            sa.ForeignKeyConstraint(
                ['id_object'], ['bwlWORKFLOW.uuid'], ),
            sa.PrimaryKeyConstraint('id'),
            mysql_charset='utf8',
            mysql_engine='MyISAM'
        )
    else:
        warnings.warn(
            "*** Creation of 'bwlWORKFLOWLOGGING' table skipped! ***")

    if not op.has_table('bwlOBJECTLOGGING'):
        op.create_table(
            'bwlOBJECTLOGGING',
            sa.Column('id', mysql.INTEGER(), nullable=False),
            sa.Column('id_object', mysql.INTEGER(
                display_width=255), nullable=False),
            sa.Column('log_type', mysql.INTEGER(), nullable=False),
            sa.Column('created', sa.DateTime(), nullable=True),
            sa.Column('message', sa.TEXT(), nullable=False),
            sa.ForeignKeyConstraint(['id_object'], ['bwlOBJECT.id'], ),
            sa.PrimaryKeyConstraint('id'),
            mysql_charset='utf8',
            mysql_engine='MyISAM'
        )
    else:
        warnings.warn("*** Creation of 'bwlOBJECTLOGGING' table skipped! ***")
def do_upgrade():
    """Perfrom upgrade."""
    if op.has_table('usergroup'):
        op.rename_table(
            old_table_name='usergroup',
            new_table_name='group'
        )
        with op.batch_alter_table("group") as batch_op:
            batch_op.drop_index('ix_usergroup_name')
            batch_op.create_index('ix_group_name', ['name'], unique=True)
            batch_op.alter_column('name', server_default=None)
            batch_op.add_column(db.Column('is_managed', db.Boolean(),
                                nullable=False, default=False))
            batch_op.alter_column(
                column_name='join_policy',
                new_column_name='privacy_policy',
                type_=db.String(length=1), nullable=False
            )
            batch_op.drop_index('login_method_name')
            batch_op.alter_column(
                column_name='login_method',
                new_column_name='subscription_policy',
                type_=db.String(length=1), nullable=False,
                server_default=None
            )
            batch_op.add_column(db.Column('created', db.DateTime(),
                                nullable=False, default=datetime.now))
            batch_op.add_column(db.Column('modified', db.DateTime(),
                                nullable=False, default=datetime.now,
                                onupdate=datetime.now))
    else:
        op.create_table(
            'group',
            db.Column('id', db.Integer(15, unsigned=True), nullable=False,
                      autoincrement=True),
            db.Column('name', db.String(length=255), nullable=False,
                      unique=True, index=True),
            db.Column('description', db.Text, nullable=True, default=''),
            db.Column('is_managed', db.Boolean(), default=False,
                      nullable=False),
            db.Column('privacy_policy', db.String(length=1), nullable=False),
            db.Column('subscription_policy', db.String(length=1),
                      nullable=False),
            db.Column('created', db.DateTime, nullable=False,
                      default=datetime.now),
            db.Column('modified', db.DateTime, nullable=False,
                      default=datetime.now, onupdate=datetime.now),
            db.PrimaryKeyConstraint('id'),
            mysql_charset='utf8',
            mysql_engine='MyISAM'
        )

    if op.has_table('user_usergroup'):
        op.rename_table(
            old_table_name='user_usergroup',
            new_table_name='groupMEMBER'
        )
        with op.batch_alter_table("groupMEMBER") as batch_op:
            batch_op.drop_index('id_usergroup')
            batch_op.alter_column('id_user', server_default=None)
            batch_op.alter_column(
                column_name='id_usergroup', new_column_name='id_group',
                existing_type=db.Integer(15, unsigned=True),
                nullable=False
            )
            batch_op.create_index('id_group', ['id_group'])
            batch_op.alter_column(
                column_name='user_status', new_column_name='state',
                type_=db.String(length=1), nullable=False
            )
            batch_op.drop_column('user_status_date')
            batch_op.add_column(db.Column('modified', db.DateTime(),
                                nullable=False, default=datetime.now,
                                onupdate=datetime.now))
            batch_op.add_column(db.Column('created', db.DateTime(),
                                nullable=False, default=datetime.now))
    else:
        op.create_table(
            'groupMEMBER',
            db.Column('id_user', db.Integer(15, unsigned=True),
                      nullable=False),
            db.Column('id_group', db.Integer(15, unsigned=True)),
            db.Column('state', db.String(length=1), nullable=False),
            db.Column('created', db.DateTime(), nullable=False,
                      default=datetime.now),
            db.Column('modified', db.DateTime(), nullable=False,
                      default=datetime.now, onupdate=datetime.now),
            db.ForeignKeyConstraint(['id_group'], [u'group.id'], ),
            db.ForeignKeyConstraint(['id_user'], [u'user.id'], ),
            db.PrimaryKeyConstraint('id_user', 'id_group'),
            mysql_charset='utf8',
            mysql_engine='MyISAM'
        )

    op.create_table(
        'groupADMIN',
        db.Column('id', db.Integer(15, unsigned=True), nullable=False,
                  autoincrement=True),
        db.Column('group_id', db.Integer(15, unsigned=True)),
        db.Column('admin_type', db.Unicode(255)),
        db.Column('admin_id', db.Integer),
        db.ForeignKeyConstraint(['group_id'], [u'group.id'], ),
        db.PrimaryKeyConstraint('id', 'group_id'),
        mysql_charset='utf8',
        mysql_engine='MyISAM'
    )