feat(db): Expand database via alembic t include users and time budgets

This commit is contained in:
hygienic-books 2022-05-05 02:59:23 +02:00
parent edf328e713
commit 9144714994
5 changed files with 317 additions and 9 deletions

View File

@ -0,0 +1,100 @@
"""Rename tables, columns to be more descriptive
Revision ID: 2da14bfaeaa1
Revises: 954ded90cc97
Create Date: 2022-05-05 02:36:43.563735
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = '2da14bfaeaa1'
down_revision = '954ded90cc97'
branch_labels = None
depends_on = None
def upgrade():
op.rename_table(u"time_budget", u"time_budgets")
op.drop_constraint(u"FK_time-budget_users", "time_budgets", type_="foreignkey")
op.alter_column(
u"users",
u"id",
new_column_name=u"user_id",
existing_type=sa.Integer,
existing_nullable=False)
op.create_foreign_key(
u"FK__time_budgets__users",
u"time_budgets",
u"users",
[u"user_id"],
[u"user_id"],
onupdate="CASCADE",
ondelete="RESTRICT")
op.alter_column(
u"time_budgets",
u"time_budget_s",
new_column_name=u"time_budget",
existing_type=sa.Integer,
existing_nullable=False,
existing_server_default=u"0")
op.alter_column(
u"time_budgets",
u"id",
new_column_name=u"budget_id",
existing_type=sa.Integer,
existing_nullable=False,
existing_server_default=u"0")
op.alter_column(
u"kodi_instances",
u"id",
new_column_name=u"instance_id",
existing_type=sa.Integer,
existing_nullable=False)
def downgrade():
op.alter_column(
u"kodi_instances",
u"instance_id",
new_column_name=u"id",
existing_type=sa.Integer,
existing_nullable=False)
op.alter_column(
u"time_budgets",
u"budget_id",
new_column_name=u"id",
existing_type=sa.Integer,
existing_nullable=False,
existing_server_default=u"0")
op.alter_column(
u"time_budgets",
u"time_budget",
new_column_name=u"time_budget_s",
existing_type=sa.Integer,
existing_nullable=False,
existing_server_default=u"0")
op.drop_constraint(u"FK__time_budgets__users", "time_budgets", type_="foreignkey")
op.alter_column(
u"users",
u"user_id",
new_column_name=u"id",
existing_type=sa.Integer,
existing_nullable=False)
op.create_foreign_key(
u"FK_time-budget_users",
u"time_budgets",
u"users",
[u"user_id"],
[u"id"],
onupdate="CASCADE",
ondelete="RESTRICT")
op.rename_table(u"time_budgets", u"time_budget")

View File

@ -0,0 +1,40 @@
"""Add time budgets table
Revision ID: 64bc9837edef
Revises: 7218e9517c00
Create Date: 2022-05-05 01:14:04.395901
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = '64bc9837edef'
down_revision = '7218e9517c00'
branch_labels = None
depends_on = None
def upgrade():
op.create_table(
u"time-budget",
sa.Column(u"id", sa.Integer, primary_key=True),
sa.Column(u"user-id", sa.Integer, nullable=False),
sa.Column(u"time-budget-s", sa.Integer, nullable=False, server_default=u"0"),
mysql_charset="utf8",
mysql_collate="utf8_unicode_ci"
)
op.create_foreign_key(
u"FK_time-budget_users",
u"time-budget",
u"users",
[u"user-id"],
[u"id"],
onupdate="CASCADE",
ondelete="RESTRICT")
def downgrade():
op.drop_constraint(u"FK_time-budget_users", "time-budget", type_="foreignkey")
op.drop_table(u"time-budget")

View File

@ -18,16 +18,18 @@ depends_on = None
def upgrade(): def upgrade():
op.create_table( op.create_table(
'kodi-instances', u"kodi-instances",
sa.Column('id', sa.Integer, primary_key=True), sa.Column(u"id", sa.Integer, primary_key=True),
sa.Column('webserver-proto', sa.String(10), nullable=False, server_default="ws"), sa.Column(u"webserver-proto", sa.String(10), nullable=False, server_default=u"ws"),
sa.Column('webserver-addr', sa.String(40), nullable=False, server_default="localhost"), sa.Column(u"webserver-addr", sa.String(40), nullable=False, server_default=u"localhost"),
sa.Column('webserver-port', sa.Integer, nullable=False, server_default="8080"), sa.Column(u"webserver-port", sa.Integer, nullable=False, server_default=u"8080"),
sa.Column('webserver-jsonrpcpath', sa.String(10), nullable=False, server_default="/jsonrpc"), sa.Column(u"webserver-jsonrpcpath", sa.String(10), nullable=False, server_default=u"/jsonrpc"),
sa.Column('webserver-username', sa.String(48)), sa.Column(u"webserver-username", sa.String(48)),
sa.Column('webserver-password', sa.String(48)) sa.Column(u"webserver-password", sa.String(48)),
mysql_charset="utf8",
mysql_collate="utf8_unicode_ci"
) )
def downgrade(): def downgrade():
op.drop_table('kodi-instances') op.drop_table(u"kodi-instances")

View File

@ -0,0 +1,30 @@
"""Add users table
Revision ID: 7218e9517c00
Revises: 68d8f4d96043
Create Date: 2022-05-04 22:49:36.690140
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = '7218e9517c00'
down_revision = '68d8f4d96043'
branch_labels = None
depends_on = None
def upgrade():
op.create_table(
u"users",
sa.Column(u"id", sa.Integer, primary_key=True),
sa.Column(u"username", sa.String(48), nullable=False),
mysql_charset="utf8",
mysql_collate="utf8_unicode_ci"
)
def downgrade():
op.drop_table(u"users")

View File

@ -0,0 +1,136 @@
"""Replace dashes in column, table names with underscores
Revision ID: 954ded90cc97
Revises: 64bc9837edef
Create Date: 2022-05-05 01:43:15.068725
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = '954ded90cc97'
down_revision = '64bc9837edef'
branch_labels = None
depends_on = None
def upgrade():
op.rename_table(u"kodi-instances", u"kodi_instances")
op.rename_table(u"time-budget", u"time_budget")
op.alter_column(
u"kodi_instances",
u"webserver-proto",
new_column_name=u"webserver_proto",
existing_type=sa.String(10),
existing_nullable=False,
existing_server_default=u"ws")
op.alter_column(
u"kodi_instances",
u"webserver-addr",
new_column_name=u"webserver_addr",
existing_type=sa.String(40),
existing_nullable=False,
existing_server_default=u"localhost")
op.alter_column(
u"kodi_instances",
u"webserver-port",
new_column_name=u"webserver_port",
existing_type=sa.Integer,
existing_nullable=False,
existing_server_default=u"8080")
op.alter_column(
u"kodi_instances",
u"webserver-jsonrpcpath",
new_column_name=u"webserver_jsonrpcpath",
existing_type=sa.String(10),
existing_nullable=False,
existing_server_default=u"/jsonrpc")
op.alter_column(
u"kodi_instances",
u"webserver-username",
new_column_name=u"webserver_username",
existing_type=sa.String(48),
existing_nullable=True)
op.alter_column(
u"kodi_instances",
u"webserver-password",
new_column_name=u"webserver_password",
existing_type=sa.String(48),
existing_nullable=True)
op.alter_column(
u"time_budget",
u"user-id",
new_column_name=u"user_id",
existing_type=sa.Integer,
existing_nullable=False)
op.alter_column(
u"time_budget",
u"time-budget-s",
new_column_name=u"time_budget_s",
existing_type=sa.Integer,
existing_nullable=False,
existing_server_default=u"0")
def downgrade():
op.alter_column(
u"time_budget",
u"user_id",
new_column_name=u"user-id",
existing_type=sa.Integer,
existing_nullable=False)
op.alter_column(
u"time_budget",
u"time_budget_s",
new_column_name=u"time-budget-s",
existing_type=sa.Integer,
existing_nullable=False,
existing_server_default=u"0")
op.alter_column(
u"kodi_instances",
u"webserver_proto",
new_column_name=u"webserver-proto",
existing_type=sa.String(10),
existing_nullable=False,
existing_server_default=u"ws")
op.alter_column(
u"kodi_instances",
u"webserver_addr",
new_column_name=u"webserver-addr",
existing_type=sa.String(40),
existing_nullable=False,
existing_server_default=u"localhost")
op.alter_column(
u"kodi_instances",
u"webserver_port",
new_column_name=u"webserver-port",
existing_type=sa.Integer,
existing_nullable=False,
existing_server_default=u"8080")
op.alter_column(
u"kodi_instances",
u"webserver_jsonrpcpath",
new_column_name=u"webserver-jsonrpcpath",
existing_type=sa.String(10),
existing_nullable=False,
existing_server_default=u"/jsonrpc")
op.alter_column(
u"kodi_instances",
u"webserver_username",
new_column_name=u"webserver-username",
existing_type=sa.String(48),
existing_nullable=True)
op.alter_column(
u"kodi_instances",
u"webserver_password",
new_column_name=u"webserver-password",
existing_type=sa.String(48),
existing_nullable=True)
op.rename_table(u"time_budget", u"time-budget")
op.rename_table(u"kodi_instances", u"kodi-instances")