diff --git a/resource_management/alembic.ini b/resource_management/alembic.ini index 01d7a46c79aea3b4c60203d6572783ccf26a3067..22d9b90d7b87f658aeb5b38a234376d320a13e4c 100644 --- a/resource_management/alembic.ini +++ b/resource_management/alembic.ini @@ -3,5 +3,6 @@ # make sure the right line is un / commented depending on which schema you want # a migration for script_location = migrations -# change this to run migrations from the command line -sqlalchemy.url = mysql://dummy:dummy-pass@localhost/resources_test +sqlalchemy.url = sqlite:////absolute/path/to/foo.db +# or here is an example of a mysql dsn +# sqlalchemy.url = mysql://dummy:dummy-pass@localhost/resources_db_name diff --git a/resource_management/migrations/versions/1983660b3e64_create_initial_tables.py b/resource_management/migrations/versions/1983660b3e64_create_initial_tables.py deleted file mode 100644 index ed1d804cf7bc6c1e4eac001bc00d54163a6f0066..0000000000000000000000000000000000000000 --- a/resource_management/migrations/versions/1983660b3e64_create_initial_tables.py +++ /dev/null @@ -1,67 +0,0 @@ -"""create initial tables - -Revision ID: 1983660b3e64 -Revises: -Create Date: 2022-12-18 14:16:34.695912 - -""" -from alembic import op -import sqlalchemy as sa - - -# revision identifiers, used by Alembic. -revision = '1983660b3e64' -down_revision = None -branch_labels = None -depends_on = None - - -def upgrade() -> None: - op.create_table( - 'nodes', - sa.Column('id', sa.Integer, primary_key=True), - sa.Column('fqdn', sa.String(256), nullable=False)) - - op.create_table( - 'line_cards', - sa.Column('id', sa.Integer, primary_key=True), - sa.Column('slot', sa.Integer, nullable=False), - sa.Column('model', sa.String(256), nullable=False), - sa.Column('serial', sa.String(256), nullable=False), - sa.Column('description', sa.String(256), nullable=False), - sa.Column( - 'node_id', - sa.Integer, - sa.ForeignKey('nodes.id'), - nullable=False)) - - op.create_table( - 'ports', - sa.Column('id', sa.Integer, primary_key=True), - sa.Column('pic', sa.Integer, nullable=False), - sa.Column('position', sa.Integer, nullable=False), - sa.Column('interface', sa.String(256), nullable=True), - sa.Column('cable', sa.String(256), nullable=True), - sa.Column('cable', sa.String(256), nullable=True), - sa.Column( - 'line_card_id', - sa.Integer, - sa.ForeignKey('line_cards.id'), - nullable=False)) - - op.create_table( - 'port_speed_capabilities', - sa.Column('id', sa.Integer, primary_key=True), - sa.Column('speed', sa.String(256), nullable=True), - sa.Column( - 'port_id', - sa.Integer, - sa.ForeignKey('ports.id'), - nullable=False)) - - -def downgrade() -> None: - op.drop_table('port_speed_capabilities') - op.drop_table('ports') - op.drop_table('line_cards') - op.drop_table('nodes') diff --git a/resource_management/migrations/versions/1ec562888fd6_initial_tables.py b/resource_management/migrations/versions/1ec562888fd6_initial_tables.py new file mode 100644 index 0000000000000000000000000000000000000000..542649be24b9d69699814e0b3086a8f571e63d19 --- /dev/null +++ b/resource_management/migrations/versions/1ec562888fd6_initial_tables.py @@ -0,0 +1,75 @@ +"""initial tables + +Revision ID: 1ec562888fd6 +Revises: +Create Date: 2023-03-20 07:05:18.984767 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = '1ec562888fd6' +down_revision = None +branch_labels = None +depends_on = None + + +def upgrade() -> None: + + op.create_table( + 'routers', + sa.Column('id', sa.Integer, primary_key=True), + sa.Column('fqdn', sa.String(256), nullable=False)) + + op.create_table( + 'lags', + sa.Column('id', sa.Integer, primary_key=True), + sa.Column('name', sa.String, nullable=False), + sa.Column( + 'availability', + sa.Enum('AVAILABLE', 'USED', 'RESERVED', name='lag_availability'), + nullable=False), + sa.Column( + 'router_id', + sa.Integer, + sa.ForeignKey('routers.id'), + nullable=False)) + + op.create_table( + 'physical_interfaces', + sa.Column('id', sa.Integer, primary_key=True), + sa.Column('name', sa.String, nullable=False), + sa.Column( + 'availability', + sa.Enum('AVAILABLE', 'USED', 'RESERVED', name='lag_availability'), + nullable=False), + sa.Column( + 'router_id', + sa.Integer, + sa.ForeignKey('routers.id'), + nullable=False), + sa.Column( + 'lag_id', + sa.Integer, + sa.ForeignKey('lags.id'), + nullable=True)) + + op.create_table( + 'logical_interfaces', + sa.Column('id', sa.Integer, primary_key=True), + sa.Column('name', sa.String, nullable=False), + sa.Column( + 'physical_id', + sa.Integer, + sa.ForeignKey('physical_interfaces.id'), + nullable=False)) + + +def downgrade() -> None: + op.drop_table('logical_interfaces') + op.drop_table('physical_interfaces') + op.drop_table('lags') + op.drop_table('routers') +