diff --git a/db/versions/2da14bfaeaa1_rename_tables_columns_to_be_more_.py b/db/versions/2da14bfaeaa1_rename_tables_columns_to_be_more_.py new file mode 100644 index 0000000..6e2d5b5 --- /dev/null +++ b/db/versions/2da14bfaeaa1_rename_tables_columns_to_be_more_.py @@ -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") diff --git a/db/versions/64bc9837edef_add_time_budgets_table.py b/db/versions/64bc9837edef_add_time_budgets_table.py new file mode 100644 index 0000000..57695bc --- /dev/null +++ b/db/versions/64bc9837edef_add_time_budgets_table.py @@ -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") diff --git a/db/versions/68d8f4d96043_add_kodi_instances_table.py b/db/versions/68d8f4d96043_add_kodi_instances_table.py index 8cc0fd5..67a92f7 100644 --- a/db/versions/68d8f4d96043_add_kodi_instances_table.py +++ b/db/versions/68d8f4d96043_add_kodi_instances_table.py @@ -18,16 +18,18 @@ depends_on = None def upgrade(): op.create_table( - 'kodi-instances', - sa.Column('id', sa.Integer, primary_key=True), - sa.Column('webserver-proto', sa.String(10), nullable=False, server_default="ws"), - sa.Column('webserver-addr', sa.String(40), nullable=False, server_default="localhost"), - sa.Column('webserver-port', sa.Integer, nullable=False, server_default="8080"), - sa.Column('webserver-jsonrpcpath', sa.String(10), nullable=False, server_default="/jsonrpc"), - sa.Column('webserver-username', sa.String(48)), - sa.Column('webserver-password', sa.String(48)) + u"kodi-instances", + sa.Column(u"id", sa.Integer, primary_key=True), + sa.Column(u"webserver-proto", sa.String(10), nullable=False, server_default=u"ws"), + sa.Column(u"webserver-addr", sa.String(40), nullable=False, server_default=u"localhost"), + sa.Column(u"webserver-port", sa.Integer, nullable=False, server_default=u"8080"), + sa.Column(u"webserver-jsonrpcpath", sa.String(10), nullable=False, server_default=u"/jsonrpc"), + sa.Column(u"webserver-username", sa.String(48)), + sa.Column(u"webserver-password", sa.String(48)), + mysql_charset="utf8", + mysql_collate="utf8_unicode_ci" ) def downgrade(): - op.drop_table('kodi-instances') + op.drop_table(u"kodi-instances") diff --git a/db/versions/7218e9517c00_add_users_table.py b/db/versions/7218e9517c00_add_users_table.py new file mode 100644 index 0000000..ad107e7 --- /dev/null +++ b/db/versions/7218e9517c00_add_users_table.py @@ -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") diff --git a/db/versions/954ded90cc97_replace_dashes_in_column_table_names_.py b/db/versions/954ded90cc97_replace_dashes_in_column_table_names_.py new file mode 100644 index 0000000..a3fa4c1 --- /dev/null +++ b/db/versions/954ded90cc97_replace_dashes_in_column_table_names_.py @@ -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")