Exemplo n.º 1
0
    def _upgrade_db(self, db):
        """Each schema version should have its own upgrade module, named
        upgrades/dbN.py, where 'N' is the version number (int).
        """
        dbm = DatabaseManager(self.env)
        if dbm.needs_upgrade(db_default.version, db_default.name):
            if not dbm.get_database_version(db_default.name):
                dbm.create_tables(db_default.tables)
                dbm.set_database_version(db_default.version, db_default.name)
            else:
                dbm.upgrade(db_default.version, db_default.name,
                            'crashdump.upgrades')

        try:
            Type(name='crashdump', env=self.env)
        except ResourceNotFound:
            crashdump_ticket_type = Type(env=self.env)
            crashdump_ticket_type.name = 'crashdump'
            crashdump_ticket_type.description = 'crashdump'
            crashdump_ticket_type.insert()

        custom = self.config['ticket-custom']
        config_dirty = False
        if 'linked_crash' not in custom:
            custom.set('linked_crash', 'text')
            custom.set('linked_crash.label', 'Linked crash')
            config_dirty = True
        if config_dirty:
            self.config.save()
Exemplo n.º 2
0
 def upgrade_environment(self):
     dbm = DatabaseManager(self.env)
     current_version = dbm.get_database_version(schema_version_name)
     if not current_version:
         dbm.create_tables(schema)
         dbm.set_database_version(schema_version, schema_version_name)
     else:
         dbm.upgrade(schema_version, schema_version_name,
                     'tracspamfilter.upgrades')
Exemplo n.º 3
0
def do_upgrade(env, ver, cursor):
    """Add a column to the log table for storing the complete request.
    Add table required for spam reports by users.
    Add table required for filtering statistics.
    """
    changed_tables = [
        Table('spamfilter_log', key='id')[
            Column('id', auto_increment=True),
            Column('time', type='int'),
            Column('path'),
            Column('author'),
            Column('authenticated', type='int'),
            Column('ipnr'),
            Column('headers'),
            Column('content'),
            Column('rejected', type='int'),
            Column('karma', type='int'),
            Column('reasons'),
            Column('request')
        ]
    ]
    new_tables = [
        Table('spamfilter_statistics',
              key=('strategy', 'action', 'data', 'status'))[
            Column('strategy'),
            Column('action'),
            Column('data'),
            Column('status'),
            Column('delay', type='double precision'),
            Column('delay_max', type='double precision'),
            Column('delay_min', type='double precision'),
            Column('count', type='int'),
            Column('external', type='int'),
            Column('time', type='int')
        ],
        Table('spamfilter_report', key='id')[
            Column('id', auto_increment=True),
            Column('entry'),
            Column('headers'),
            Column('author'),
            Column('authenticated', type='int'),
            Column('comment'),
            Column('time', type='int')
        ]
    ]
    dbm = DatabaseManager(env)
    dbm.create_tables(new_tables)
    dbm.upgrade_tables(changed_tables)
Exemplo n.º 4
0
    def upgrade_environment(self, db):
        dbm = DatabaseManager(self.env)
        if dbm.needs_upgrade(db_default.version, db_default.name):
            if not dbm.get_database_version(db_default.name):
                dbm.create_tables(db_default.tables)
                dbm.set_database_version(db_default.version, db_default.name)
            else:
                dbm.upgrade(db_default.version, db_default.name,
                            'mastertickets.upgrades')

        custom = self.config['ticket-custom']
        save_config = False
        if 'blocking' not in custom:
            custom.set('blocking', 'text')
            custom.set('blocking.label', 'Blocking')
            save_config = True
        if 'blockedby' not in custom:
            custom.set('blockedby', 'text')
            custom.set('blockedby.label', 'Blocked By')
            save_config = True
        if save_config:
            self.config.save()
Exemplo n.º 5
0
    def upgrade_environment(self, db):
        dbm = DatabaseManager(self.env)
        if dbm.needs_upgrade(db_default.version, db_default.name):
            if not dbm.get_database_version(db_default.name):
                dbm.create_tables(db_default.tables)
                dbm.set_database_version(db_default.version, db_default.name)
            else:
                dbm.upgrade(db_default.version, db_default.name,
                            'mastertickets.upgrades')

        custom = self.config['ticket-custom']
        save_config = False
        if 'blocking' not in custom:
            custom.set('blocking', 'text')
            custom.set('blocking.label', 'Blocking')
            save_config = True
        if 'blockedby' not in custom:
            custom.set('blockedby', 'text')
            custom.set('blockedby.label', 'Blocked By')
            save_config = True
        if save_config:
            self.config.save()
Exemplo n.º 6
0
 def upgrade_environment(self):
     dbm = DatabaseManager(self.env)
     with self.env.db_transaction:
         dbm.create_tables(tables_v1)
         dbm.set_database_version(db_version, db_version_key)
Exemplo n.º 7
0
 def create_initial_database(self):
     dbm = DatabaseManager(self.env)
     dbm.create_tables(db_default.tables)
     dbm.set_database_version(db_default.version, db_default.name)
Exemplo n.º 8
0
 def create_initial_database(self):
     dbm = DatabaseManager(self.env)
     dbm.create_tables(db_default.tables)
     dbm.set_database_version(db_default.version, db_default.name)