1 |
|
# -*- coding: utf-8 -*- |
2 |
|
|
3 |
|
# Copyright 2018 Whitestack, LLC |
4 |
|
# ************************************************************* |
5 |
|
|
6 |
|
# This file is part of OSM Monitoring module |
7 |
|
# All Rights Reserved to Whitestack, LLC |
8 |
|
|
9 |
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may |
10 |
|
# not use this file except in compliance with the License. You may obtain |
11 |
|
# a copy of the License at |
12 |
|
|
13 |
|
# http://www.apache.org/licenses/LICENSE-2.0 |
14 |
|
|
15 |
|
# Unless required by applicable law or agreed to in writing, software |
16 |
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
17 |
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
18 |
|
# License for the specific language governing permissions and limitations |
19 |
|
# under the License. |
20 |
|
|
21 |
|
# For those usages not covered by the Apache License, Version 2.0 please |
22 |
|
# contact: bdiaz@whitestack.com or glavado@whitestack.com |
23 |
|
## |
24 |
0 |
"""Peewee migrations -- 002_add_vnf_alarm.py. |
25 |
|
|
26 |
|
Some examples (model - class or model name):: |
27 |
|
|
28 |
|
> Model = migrator.orm['model_name'] # Return model in current state by name |
29 |
|
|
30 |
|
> migrator.sql(sql) # Run custom SQL |
31 |
|
> migrator.python(func, *args, **kwargs) # Run python code |
32 |
|
> migrator.create_model(Model) # Create a model (could be used as decorator) |
33 |
|
> migrator.remove_model(model, cascade=True) # Remove a model |
34 |
|
> migrator.add_fields(model, **fields) # Add fields to a model |
35 |
|
> migrator.change_fields(model, **fields) # Change fields |
36 |
|
> migrator.remove_fields(model, *field_names, cascade=True) |
37 |
|
> migrator.rename_field(model, old_field_name, new_field_name) |
38 |
|
> migrator.rename_table(model, new_table_name) |
39 |
|
> migrator.add_index(model, *col_names, unique=False) |
40 |
|
> migrator.drop_index(model, *col_names) |
41 |
|
> migrator.add_not_null(model, *field_names) |
42 |
|
> migrator.drop_not_null(model, *field_names) |
43 |
|
> migrator.add_default(model, field_name, default) |
44 |
|
|
45 |
|
""" |
46 |
|
|
47 |
0 |
import peewee as pw |
48 |
|
|
49 |
0 |
SQL = pw.SQL |
50 |
|
|
51 |
|
|
52 |
0 |
def migrate(migrator, database, fake=False, **kwargs): |
53 |
|
"""Write your migrations here.""" |
54 |
|
|
55 |
0 |
@migrator.create_model |
56 |
0 |
class VnfAlarm(pw.Model): |
57 |
0 |
id = pw.AutoField() |
58 |
0 |
alarm_id = pw.CharField(max_length=255) |
59 |
0 |
alarm_uuid = pw.CharField(max_length=255, unique=True) |
60 |
0 |
nsr_id = pw.CharField(max_length=255) |
61 |
0 |
vnf_member_index = pw.IntegerField() |
62 |
0 |
vdu_name = pw.CharField(max_length=255) |
63 |
|
|
64 |
0 |
class Meta: |
65 |
0 |
table_name = "vnfalarm" |
66 |
|
|
67 |
0 |
@migrator.create_model |
68 |
0 |
class AlarmAction(pw.Model): |
69 |
0 |
id = pw.AutoField() |
70 |
0 |
type = pw.CharField(max_length=255) |
71 |
0 |
url = pw.TextField() |
72 |
0 |
alarm = pw.ForeignKeyField( |
73 |
|
backref="actions", |
74 |
|
column_name="alarm_id", |
75 |
|
field="id", |
76 |
|
model=migrator.orm["vnfalarm"], |
77 |
|
on_delete="CASCADE", |
78 |
|
) |
79 |
|
|
80 |
0 |
class Meta: |
81 |
0 |
table_name = "alarmaction" |
82 |
|
|
83 |
|
|
84 |
0 |
def rollback(migrator, database, fake=False, **kwargs): |
85 |
|
"""Write your rollback migrations here.""" |
86 |
|
|
87 |
0 |
migrator.remove_model("vnfalarm") |
88 |
|
|
89 |
0 |
migrator.remove_model("alarmaction") |