mirror of
https://github.com/Pythagora-io/gpt-pilot.git
synced 2026-01-07 12:23:57 -05:00
reset alembic migrations and set up migrations pre-commit check
This commit is contained in:
@@ -9,6 +9,16 @@ repos:
|
||||
args: [ --fix ]
|
||||
# Run the formatter.
|
||||
- id: ruff-format
|
||||
- repo: local
|
||||
hooks:
|
||||
# Check there are no migrations missing
|
||||
- id: alembic
|
||||
name: alembic
|
||||
stages: [commit]
|
||||
types: [python]
|
||||
entry: alembic -c core/db/alembic.ini check
|
||||
language: system
|
||||
pass_filenames: false
|
||||
- repo: local
|
||||
hooks:
|
||||
# Run the tests
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
"""add state action info
|
||||
|
||||
Revision ID: 06e603d6e19a
|
||||
Revises: dbc3fd7ef89b
|
||||
Create Date: 2024-05-25 10:33:34.535522
|
||||
|
||||
"""
|
||||
|
||||
from typing import Sequence, Union
|
||||
|
||||
import sqlalchemy as sa
|
||||
from alembic import op
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision: str = "06e603d6e19a"
|
||||
down_revision: Union[str, None] = "dbc3fd7ef89b"
|
||||
branch_labels: Union[str, Sequence[str], None] = None
|
||||
depends_on: Union[str, Sequence[str], None] = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
with op.batch_alter_table("project_states", schema=None) as batch_op:
|
||||
batch_op.add_column(sa.Column("action", sa.String(), nullable=True))
|
||||
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
with op.batch_alter_table("project_states", schema=None) as batch_op:
|
||||
batch_op.drop_column("action")
|
||||
|
||||
# ### end Alembic commands ###
|
||||
@@ -1,34 +0,0 @@
|
||||
"""added complexity to specification
|
||||
|
||||
Revision ID: 4f79e6952354
|
||||
Revises: 5b04ea6afce5
|
||||
Create Date: 2024-05-16 18:01:49.024811
|
||||
|
||||
"""
|
||||
|
||||
from typing import Sequence, Union
|
||||
|
||||
import sqlalchemy as sa
|
||||
from alembic import op
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision: str = "4f79e6952354"
|
||||
down_revision: Union[str, None] = "5b04ea6afce5"
|
||||
branch_labels: Union[str, Sequence[str], None] = None
|
||||
depends_on: Union[str, Sequence[str], None] = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
with op.batch_alter_table("specifications", schema=None) as batch_op:
|
||||
batch_op.add_column(sa.Column("complexity", sa.String(), server_default="hard", nullable=False))
|
||||
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
with op.batch_alter_table("specifications", schema=None) as batch_op:
|
||||
batch_op.drop_column("complexity")
|
||||
|
||||
# ### end Alembic commands ###
|
||||
@@ -1,34 +0,0 @@
|
||||
"""add agent info to llm request log
|
||||
|
||||
Revision ID: 5b04ea6afce5
|
||||
Revises: fd206d3095d0
|
||||
Create Date: 2024-05-12 11:07:40.271217
|
||||
|
||||
"""
|
||||
|
||||
from typing import Sequence, Union
|
||||
|
||||
import sqlalchemy as sa
|
||||
from alembic import op
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision: str = "5b04ea6afce5"
|
||||
down_revision: Union[str, None] = "fd206d3095d0"
|
||||
branch_labels: Union[str, Sequence[str], None] = None
|
||||
depends_on: Union[str, Sequence[str], None] = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
with op.batch_alter_table("llm_requests", schema=None) as batch_op:
|
||||
batch_op.add_column(sa.Column("agent", sa.String(), nullable=True))
|
||||
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
with op.batch_alter_table("llm_requests", schema=None) as batch_op:
|
||||
batch_op.drop_column("agent")
|
||||
|
||||
# ### end Alembic commands ###
|
||||
@@ -1,34 +0,0 @@
|
||||
"""record prompt data
|
||||
|
||||
Revision ID: dbc3fd7ef89b
|
||||
Revises: 4f79e6952354
|
||||
Create Date: 2024-05-23 17:02:15.386028
|
||||
|
||||
"""
|
||||
|
||||
from typing import Sequence, Union
|
||||
|
||||
import sqlalchemy as sa
|
||||
from alembic import op
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision: str = "dbc3fd7ef89b"
|
||||
down_revision: Union[str, None] = "4f79e6952354"
|
||||
branch_labels: Union[str, Sequence[str], None] = None
|
||||
depends_on: Union[str, Sequence[str], None] = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
with op.batch_alter_table("llm_requests", schema=None) as batch_op:
|
||||
batch_op.add_column(sa.Column("prompts", sa.JSON(), server_default="[]", nullable=False))
|
||||
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
with op.batch_alter_table("llm_requests", schema=None) as batch_op:
|
||||
batch_op.drop_column("prompts")
|
||||
|
||||
# ### end Alembic commands ###
|
||||
@@ -1,120 +0,0 @@
|
||||
"""initial
|
||||
|
||||
Revision ID: e7b54beadf8f
|
||||
Revises:
|
||||
Create Date: 2024-05-06 09:38:05.391674
|
||||
|
||||
"""
|
||||
|
||||
from typing import Sequence, Union
|
||||
|
||||
import sqlalchemy as sa
|
||||
from alembic import op
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision: str = "e7b54beadf8f"
|
||||
down_revision: Union[str, None] = None
|
||||
branch_labels: Union[str, Sequence[str], None] = None
|
||||
depends_on: Union[str, Sequence[str], None] = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.create_table(
|
||||
"file_contents",
|
||||
sa.Column("id", sa.String(), nullable=False),
|
||||
sa.Column("content", sa.String(), nullable=False),
|
||||
sa.PrimaryKeyConstraint("id", name=op.f("pk_file_contents")),
|
||||
)
|
||||
op.create_table(
|
||||
"projects",
|
||||
sa.Column("id", sa.Uuid(), nullable=False),
|
||||
sa.Column("name", sa.String(), nullable=False),
|
||||
sa.Column("created_at", sa.DateTime(), server_default=sa.text("(CURRENT_TIMESTAMP)"), nullable=False),
|
||||
sa.Column("folder_name", sa.String(), nullable=False),
|
||||
sa.PrimaryKeyConstraint("id", name=op.f("pk_projects")),
|
||||
)
|
||||
op.create_table(
|
||||
"specifications",
|
||||
sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
|
||||
sa.Column("description", sa.String(), nullable=False),
|
||||
sa.Column("architecture", sa.String(), nullable=False),
|
||||
sa.Column("system_dependencies", sa.JSON(), nullable=False),
|
||||
sa.Column("package_dependencies", sa.JSON(), nullable=False),
|
||||
sa.Column("template", sa.String(), nullable=True),
|
||||
sa.PrimaryKeyConstraint("id", name=op.f("pk_specifications")),
|
||||
)
|
||||
op.create_table(
|
||||
"branches",
|
||||
sa.Column("id", sa.Uuid(), nullable=False),
|
||||
sa.Column("project_id", sa.Uuid(), nullable=False),
|
||||
sa.Column("created_at", sa.DateTime(), server_default=sa.text("(CURRENT_TIMESTAMP)"), nullable=False),
|
||||
sa.Column("name", sa.String(), nullable=False),
|
||||
sa.ForeignKeyConstraint(
|
||||
["project_id"], ["projects.id"], name=op.f("fk_branches_project_id_projects"), ondelete="CASCADE"
|
||||
),
|
||||
sa.PrimaryKeyConstraint("id", name=op.f("pk_branches")),
|
||||
)
|
||||
op.create_table(
|
||||
"project_states",
|
||||
sa.Column("id", sa.Uuid(), nullable=False),
|
||||
sa.Column("branch_id", sa.Uuid(), nullable=False),
|
||||
sa.Column("prev_state_id", sa.Uuid(), nullable=True),
|
||||
sa.Column("specification_id", sa.Integer(), nullable=False),
|
||||
sa.Column("created_at", sa.DateTime(), server_default=sa.text("(CURRENT_TIMESTAMP)"), nullable=False),
|
||||
sa.Column("step_index", sa.Integer(), server_default="1", nullable=False),
|
||||
sa.Column("epics", sa.JSON(), nullable=False),
|
||||
sa.Column("tasks", sa.JSON(), nullable=False),
|
||||
sa.Column("steps", sa.JSON(), nullable=False),
|
||||
sa.Column("iterations", sa.JSON(), nullable=False),
|
||||
sa.Column("relevant_files", sa.JSON(), nullable=False),
|
||||
sa.Column("modified_files", sa.JSON(), nullable=False),
|
||||
sa.Column("run_command", sa.String(), nullable=True),
|
||||
sa.ForeignKeyConstraint(
|
||||
["branch_id"], ["branches.id"], name=op.f("fk_project_states_branch_id_branches"), ondelete="CASCADE"
|
||||
),
|
||||
sa.ForeignKeyConstraint(
|
||||
["prev_state_id"],
|
||||
["project_states.id"],
|
||||
name=op.f("fk_project_states_prev_state_id_project_states"),
|
||||
ondelete="CASCADE",
|
||||
),
|
||||
sa.ForeignKeyConstraint(
|
||||
["specification_id"], ["specifications.id"], name=op.f("fk_project_states_specification_id_specifications")
|
||||
),
|
||||
sa.PrimaryKeyConstraint("id", name=op.f("pk_project_states")),
|
||||
sa.UniqueConstraint("branch_id", "step_index", name=op.f("uq_project_states_branch_id")),
|
||||
sa.UniqueConstraint("prev_state_id", name=op.f("uq_project_states_prev_state_id")),
|
||||
sqlite_autoincrement=True,
|
||||
)
|
||||
op.create_table(
|
||||
"files",
|
||||
sa.Column("id", sa.Integer(), nullable=False),
|
||||
sa.Column("project_state_id", sa.Uuid(), nullable=False),
|
||||
sa.Column("content_id", sa.String(), nullable=False),
|
||||
sa.Column("path", sa.String(), nullable=False),
|
||||
sa.Column("meta", sa.JSON(), server_default="{}", nullable=False),
|
||||
sa.ForeignKeyConstraint(
|
||||
["content_id"], ["file_contents.id"], name=op.f("fk_files_content_id_file_contents"), ondelete="RESTRICT"
|
||||
),
|
||||
sa.ForeignKeyConstraint(
|
||||
["project_state_id"],
|
||||
["project_states.id"],
|
||||
name=op.f("fk_files_project_state_id_project_states"),
|
||||
ondelete="CASCADE",
|
||||
),
|
||||
sa.PrimaryKeyConstraint("id", name=op.f("pk_files")),
|
||||
sa.UniqueConstraint("project_state_id", "path", name=op.f("uq_files_project_state_id")),
|
||||
)
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.drop_table("files")
|
||||
op.drop_table("project_states")
|
||||
op.drop_table("branches")
|
||||
op.drop_table("specifications")
|
||||
op.drop_table("projects")
|
||||
op.drop_table("file_contents")
|
||||
# ### end Alembic commands ###
|
||||
@@ -1,106 +0,0 @@
|
||||
"""store request input exec logs to db
|
||||
|
||||
Revision ID: fd206d3095d0
|
||||
Revises: e7b54beadf8f
|
||||
Create Date: 2024-05-09 08:25:10.698607
|
||||
|
||||
"""
|
||||
|
||||
from typing import Sequence, Union
|
||||
|
||||
import sqlalchemy as sa
|
||||
from alembic import op
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision: str = "fd206d3095d0"
|
||||
down_revision: Union[str, None] = "e7b54beadf8f"
|
||||
branch_labels: Union[str, Sequence[str], None] = None
|
||||
depends_on: Union[str, Sequence[str], None] = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.create_table(
|
||||
"exec_logs",
|
||||
sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
|
||||
sa.Column("branch_id", sa.Uuid(), nullable=False),
|
||||
sa.Column("project_state_id", sa.Uuid(), nullable=True),
|
||||
sa.Column("started_at", sa.DateTime(), nullable=False),
|
||||
sa.Column("duration", sa.Float(), nullable=False),
|
||||
sa.Column("cmd", sa.String(), nullable=False),
|
||||
sa.Column("cwd", sa.String(), nullable=False),
|
||||
sa.Column("env", sa.JSON(), nullable=False),
|
||||
sa.Column("timeout", sa.Float(), nullable=True),
|
||||
sa.Column("status_code", sa.Integer(), nullable=True),
|
||||
sa.Column("stdout", sa.String(), nullable=False),
|
||||
sa.Column("stderr", sa.String(), nullable=False),
|
||||
sa.Column("analysis", sa.String(), nullable=False),
|
||||
sa.Column("success", sa.Boolean(), nullable=False),
|
||||
sa.ForeignKeyConstraint(
|
||||
["branch_id"], ["branches.id"], name=op.f("fk_exec_logs_branch_id_branches"), ondelete="CASCADE"
|
||||
),
|
||||
sa.ForeignKeyConstraint(
|
||||
["project_state_id"],
|
||||
["project_states.id"],
|
||||
name=op.f("fk_exec_logs_project_state_id_project_states"),
|
||||
ondelete="SET NULL",
|
||||
),
|
||||
sa.PrimaryKeyConstraint("id", name=op.f("pk_exec_logs")),
|
||||
)
|
||||
op.create_table(
|
||||
"llm_requests",
|
||||
sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
|
||||
sa.Column("branch_id", sa.Uuid(), nullable=False),
|
||||
sa.Column("project_state_id", sa.Uuid(), nullable=True),
|
||||
sa.Column("started_at", sa.DateTime(), server_default=sa.text("(CURRENT_TIMESTAMP)"), nullable=False),
|
||||
sa.Column("provider", sa.String(), nullable=False),
|
||||
sa.Column("model", sa.String(), nullable=False),
|
||||
sa.Column("temperature", sa.Float(), nullable=False),
|
||||
sa.Column("messages", sa.JSON(), nullable=False),
|
||||
sa.Column("response", sa.String(), nullable=True),
|
||||
sa.Column("prompt_tokens", sa.Integer(), nullable=False),
|
||||
sa.Column("completion_tokens", sa.Integer(), nullable=False),
|
||||
sa.Column("duration", sa.Float(), nullable=False),
|
||||
sa.Column("status", sa.String(), nullable=False),
|
||||
sa.Column("error", sa.String(), nullable=True),
|
||||
sa.ForeignKeyConstraint(
|
||||
["branch_id"], ["branches.id"], name=op.f("fk_llm_requests_branch_id_branches"), ondelete="CASCADE"
|
||||
),
|
||||
sa.ForeignKeyConstraint(
|
||||
["project_state_id"],
|
||||
["project_states.id"],
|
||||
name=op.f("fk_llm_requests_project_state_id_project_states"),
|
||||
ondelete="SET NULL",
|
||||
),
|
||||
sa.PrimaryKeyConstraint("id", name=op.f("pk_llm_requests")),
|
||||
)
|
||||
op.create_table(
|
||||
"user_inputs",
|
||||
sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
|
||||
sa.Column("branch_id", sa.Uuid(), nullable=False),
|
||||
sa.Column("project_state_id", sa.Uuid(), nullable=True),
|
||||
sa.Column("created_at", sa.DateTime(), server_default=sa.text("(CURRENT_TIMESTAMP)"), nullable=False),
|
||||
sa.Column("question", sa.String(), nullable=False),
|
||||
sa.Column("answer_text", sa.String(), nullable=True),
|
||||
sa.Column("answer_button", sa.String(), nullable=True),
|
||||
sa.Column("cancelled", sa.Boolean(), nullable=False),
|
||||
sa.ForeignKeyConstraint(
|
||||
["branch_id"], ["branches.id"], name=op.f("fk_user_inputs_branch_id_branches"), ondelete="CASCADE"
|
||||
),
|
||||
sa.ForeignKeyConstraint(
|
||||
["project_state_id"],
|
||||
["project_states.id"],
|
||||
name=op.f("fk_user_inputs_project_state_id_project_states"),
|
||||
ondelete="SET NULL",
|
||||
),
|
||||
sa.PrimaryKeyConstraint("id", name=op.f("pk_user_inputs")),
|
||||
)
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.drop_table("user_inputs")
|
||||
op.drop_table("llm_requests")
|
||||
op.drop_table("exec_logs")
|
||||
# ### end Alembic commands ###
|
||||
Reference in New Issue
Block a user