%PDF- %PDF-
Direktori : /opt/imunify360/venv/lib64/python3.8/site-packages/defence360agent/migrations/ |
Current File : //opt/imunify360/venv/lib64/python3.8/site-packages/defence360agent/migrations/001_initial.py |
""" This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>. Copyright © 2019 Cloud Linux Software Inc. This software is also available under ImunifyAV commercial license, see <https://www.imunify360.com/legal/eula> Peewee migrations: :: > Model = migrator.orm['name'] > migrator.sql(sql) > migrator.python(func, *args, **kwargs) > migrator.create_model(Model) > migrator.remove_model(Model, cascade=True) > migrator.add_fields(Model, **fields) > migrator.change_fields(Model, **fields) > migrator.remove_fields(Model, *field_names, cascade=True) > migrator.rename_field(Model, old_field_name, new_field_name) > migrator.rename_table(Model, new_table_name) > migrator.add_index(Model, *col_names, unique=False) > migrator.drop_index(Model, *col_names) > migrator.add_not_null(Model, *field_names) > migrator.drop_not_null(Model, *field_names) > migrator.add_default(Model, field_name, default) """ import peewee as pw class Incident(pw.Model): id = pw.IntegerField(primary_key=True, null=True) plugin = pw.CharField(null=True) rule = pw.CharField(null=True) timestamp = pw.FloatField(null=True) retries = pw.IntegerField(null=True) severity = pw.IntegerField(null=True) name = pw.CharField(null=True) description = pw.CharField(null=True) abuser = pw.CharField(null=True) class Meta: db_table = 'incident' class IPList(pw.Model): ip = pw.CharField(primary_key=True, null=False) listname = pw.CharField( null=False, constraints=[pw.Check("listname in " "('WHITE','BLACK','GRAY')")]) expiration = pw.IntegerField(default=0, null=True) class Meta: db_table = 'iplist' class BlocklistHistory(pw.Model): id = pw.IntegerField(primary_key=True, null=True) plugin = pw.CharField(null=True) rule = pw.CharField(null=True) timestamp = pw.FloatField(null=True) ip = pw.CharField(null=True) class Meta: db_table = 'blocklist_history' class LastSynclist(pw.Model): timestamp = pw.FloatField(primary_key=True, null=True) class Meta: db_table = 'last_synclist' def migrate(migrator, database, fake=False, **kwargs): """In memory of former create_db() (RIP)""" migrator.create_model(Incident) migrator.create_model(IPList) migrator.create_model(BlocklistHistory) migrator.create_model(LastSynclist) def rollback(migrator, database, fake=False, **kwargs): """Nothing to rollback."""