Db Models to SQL Migrations (#17)
* Db Models to SQL Migrations * precommit fixes
taylor_socfortress committed
Jul 12, 2023 at 16:34 UTC
a9314af8e00e6339a9365cf9c843b390fc3f0dd2
3 files changed
+57
-76
backend/app/__init__.py
+12
-1
@@ -29,8 +29,19 @@ CORS(app)
29
app.config.from_object("settings")
30
31
db = SQLAlchemy(app)
32
-migrate = Migrate(app, db)
32
ma = Marshmallow(app)
33
+from app.models import agents # noqa: F401
34
+from app.models import artifacts # noqa: F401
35
+from app.models import cases # noqa: F401
36
+from app.models import connectors # noqa: F401
37
+from app.models import graylog # noqa: F401
38
+from app.models import models # noqa: F401
39
+from app.models import rules # noqa: F401
40
+from app.models import smtp # noqa: F401
41
+from app.models import sublime_alerts # noqa: F401
42
+from app.models import wazuh_indexer # noqa: F401
43
+
44
+migrate = Migrate(app, db)
45
46
47
from app.routes.agents import bp as agents_bp
backend/migrations/versions/16a3bb6544b1_added_sublime_alerts_and_smtp_config.py
new
+45
@@ -0,0 +1,45 @@
1
+"""Added sublime alerts and SMTP Config
2
+
3
+Revision ID: 16a3bb6544b1
4
+Revises: 0381c0088cbe
5
+Create Date: 2023-07-12 17:24:56.551223
6
+
7
+"""
8
+import sqlalchemy as sa
9
+from alembic import op
10
+
11
+# revision identifiers, used by Alembic.
12
+revision = "16a3bb6544b1"
13
+down_revision = "0381c0088cbe"
14
+branch_labels = None
15
+depends_on = None
16
+
17
+
18
+def upgrade():
19
+ # ### commands auto generated by Alembic - please adjust! ###
20
+ op.create_table(
21
+ "email_credentials",
22
+ sa.Column("id", sa.Integer(), nullable=False),
23
+ sa.Column("email", sa.String(length=100), nullable=False),
24
+ sa.Column("password", sa.String(length=100), nullable=False),
25
+ sa.Column("smtp_server", sa.String(length=100), nullable=False),
26
+ sa.Column("smtp_port", sa.Integer(), nullable=False),
27
+ sa.Column("timestamp", sa.DateTime(), nullable=True),
28
+ sa.PrimaryKeyConstraint("id"),
29
+ sa.UniqueConstraint("email"),
30
+ )
31
+ op.create_table(
32
+ "sublime_alerts",
33
+ sa.Column("id", sa.Integer(), nullable=False),
34
+ sa.Column("message_id", sa.String(length=1000), nullable=True),
35
+ sa.Column("timestamp", sa.DateTime(), nullable=True),
36
+ sa.PrimaryKeyConstraint("id"),
37
+ )
38
+ # ### end Alembic commands ###
39
+
40
+
41
+def downgrade():
42
+ # ### commands auto generated by Alembic - please adjust! ###
43
+ op.drop_table("sublime_alerts")
44
+ op.drop_table("email_credentials")
45
+ # ### end Alembic commands ###
backend/migrations/versions/e13d34bd3d1f_add_sublime_alerts_model.py
deleted
-75
@@ -1,75 +0,0 @@
1
-"""Add sublime alerts model.
2
-
3
-Revision ID: e13d34bd3d1f
4
-Revises: 0381c0088cbe
5
-Create Date: 2023-07-12 11:47:15.118862
6
-
7
-"""
8
-import sqlalchemy as sa
9
-from alembic import op
10
-
11
-# revision identifiers, used by Alembic.
12
-revision = "e13d34bd3d1f"
13
-down_revision = "0381c0088cbe"
14
-branch_labels = None
15
-depends_on = None
16
-
17
-
18
-def upgrade():
19
- # ### commands auto generated by Alembic - please adjust! ###
20
- op.drop_table("case")
21
- op.drop_table("graylog_metrics_allocation")
22
- op.drop_table("artifact")
23
- op.drop_table("wazuh_indexer_allocation")
24
- with op.batch_alter_table("sublime_alerts", schema=None) as batch_op:
25
- batch_op.add_column(sa.Column("timestamp", sa.DateTime(), nullable=True))
26
-
27
- # ### end Alembic commands ###
28
-
29
-
30
-def downgrade():
31
- # ### commands auto generated by Alembic - please adjust! ###
32
- with op.batch_alter_table("sublime_alerts", schema=None) as batch_op:
33
- batch_op.drop_column("timestamp")
34
-
35
- op.create_table(
36
- "wazuh_indexer_allocation",
37
- sa.Column("id", sa.INTEGER(), nullable=False),
38
- sa.Column("node", sa.VARCHAR(length=100), nullable=True),
39
- sa.Column("disk_used", sa.FLOAT(), nullable=True),
40
- sa.Column("disk_available", sa.FLOAT(), nullable=True),
41
- sa.Column("disk_total", sa.FLOAT(), nullable=True),
42
- sa.Column("disk_percent", sa.FLOAT(), nullable=True),
43
- sa.Column("timestamp", sa.DATETIME(), nullable=True),
44
- sa.PrimaryKeyConstraint("id"),
45
- )
46
- op.create_table(
47
- "artifact",
48
- sa.Column("id", sa.INTEGER(), nullable=False),
49
- sa.Column("artifact_name", sa.VARCHAR(length=100), nullable=True),
50
- sa.Column("artifact_results", sa.TEXT(), nullable=True),
51
- sa.Column("hostname", sa.VARCHAR(length=100), nullable=True),
52
- sa.PrimaryKeyConstraint("id"),
53
- )
54
- op.create_table(
55
- "graylog_metrics_allocation",
56
- sa.Column("id", sa.INTEGER(), nullable=False),
57
- sa.Column("input_usage", sa.FLOAT(), nullable=True),
58
- sa.Column("output_usage", sa.FLOAT(), nullable=True),
59
- sa.Column("processor_usage", sa.FLOAT(), nullable=True),
60
- sa.Column("input_1_sec_rate", sa.FLOAT(), nullable=True),
61
- sa.Column("output_1_sec_rate", sa.FLOAT(), nullable=True),
62
- sa.Column("total_input", sa.FLOAT(), nullable=True),
63
- sa.Column("total_output", sa.FLOAT(), nullable=True),
64
- sa.Column("timestamp", sa.DATETIME(), nullable=True),
65
- sa.PrimaryKeyConstraint("id"),
66
- )
67
- op.create_table(
68
- "case",
69
- sa.Column("id", sa.INTEGER(), nullable=False),
70
- sa.Column("case_id", sa.INTEGER(), nullable=True),
71
- sa.Column("case_name", sa.VARCHAR(length=100), nullable=True),
72
- sa.Column("agents", sa.VARCHAR(length=1000), nullable=True),
73
- sa.PrimaryKeyConstraint("id"),
74
- )
75
- # ### end Alembic commands ###