Skip to content
Snippets Groups Projects
Commit 1213ecb9 authored by kaiyou's avatar kaiyou
Browse files

Move to uuid for line index

parent c28ca71c
No related branches found
No related tags found
No related merge requests found
Checking pipeline status
""" empty message
Revision ID: 3fe66efb6088
Revises:
Create Date: 2019-09-14 12:13:37.847931
"""
from alembic import op
import sqlalchemy as sa
revision = '3fe66efb6088'
down_revision = None
branch_labels = None
depends_on = None
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.create_table('service',
sa.Column('protocol', sa.String(length=25), nullable=True),
sa.Column('name', sa.String(length=255), nullable=True),
sa.Column('description', sa.String(), nullable=True),
sa.Column('max_profiles', sa.Integer(), nullable=True),
sa.Column('config', sa.String(), nullable=True),
sa.Column('uuid', sa.String(length=36), nullable=False),
sa.Column('created_at', sa.Date(), nullable=False),
sa.Column('updated_at', sa.Date(), nullable=True),
sa.Column('comment', sa.String(length=255), nullable=True),
sa.PrimaryKeyConstraint('uuid')
)
op.create_table('user',
sa.Column('username', sa.String(length=255), nullable=False),
sa.Column('uuid', sa.String(length=36), nullable=False),
sa.Column('created_at', sa.Date(), nullable=False),
sa.Column('updated_at', sa.Date(), nullable=True),
sa.Column('comment', sa.String(length=255), nullable=True),
sa.PrimaryKeyConstraint('uuid'),
sa.UniqueConstraint('username')
)
op.create_table('auth',
sa.Column('user_uuid', sa.String(length=36), nullable=True),
sa.Column('value', sa.String(), nullable=True),
sa.Column('extra', sa.String(), nullable=True),
sa.Column('uuid', sa.String(length=36), nullable=False),
sa.Column('created_at', sa.Date(), nullable=False),
sa.Column('updated_at', sa.Date(), nullable=True),
sa.Column('comment', sa.String(length=255), nullable=True),
sa.ForeignKeyConstraint(['user_uuid'], ['user.uuid'], ),
sa.PrimaryKeyConstraint('uuid')
)
op.create_table('profile',
sa.Column('user_uuid', sa.String(length=36), nullable=True),
sa.Column('service_uuid', sa.String(length=36), nullable=True),
sa.Column('username', sa.String(length=255), nullable=False),
sa.Column('status', sa.String(length=25), nullable=False),
sa.Column('uuid', sa.String(length=36), nullable=False),
sa.Column('created_at', sa.Date(), nullable=False),
sa.Column('updated_at', sa.Date(), nullable=True),
sa.Column('comment', sa.String(length=255), nullable=True),
sa.ForeignKeyConstraint(['service_uuid'], ['service.uuid'], ),
sa.ForeignKeyConstraint(['user_uuid'], ['user.uuid'], ),
sa.PrimaryKeyConstraint('uuid')
)
# ### end Alembic commands ###
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_table('profile')
op.drop_table('auth')
op.drop_table('user')
op.drop_table('service')
# ### end Alembic commands ###
""" Add a uuid per profile
Revision ID: 546912a5c987
Revises: a95b3a78f983
Create Date: 2019-09-12 22:32:19.352747
"""
from alembic import op
import sqlalchemy as sa
revision = '546912a5c987'
down_revision = 'a95b3a78f983'
branch_labels = None
depends_on = None
def upgrade():
with op.batch_alter_table('profile') as batch:
batch.add_column(sa.Column('uuid', sa.String(length=36)))
batch.create_unique_constraint('profile_unique', ['uuid'])
def downgrade():
with op.batch_alter_table('profile') as batch:
batch.drop_constraint('profile_unique', type_='unique')
batch.drop_column('uuid')
""" Create initial schemas
Revision ID: a95b3a78f983
Revises:
Create Date: 2019-09-10 21:33:43.332000
"""
from alembic import op
import sqlalchemy as sa
revision = 'a95b3a78f983'
down_revision = None
branch_labels = None
depends_on = None
def upgrade():
op.create_table('service',
sa.Column('spn', sa.String(length=255), nullable=True),
sa.Column('protocol', sa.String(length=25), nullable=True),
sa.Column('config', sa.String(), nullable=True),
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('created_at', sa.Date(), nullable=False),
sa.Column('updated_at', sa.Date(), nullable=True),
sa.Column('comment', sa.String(length=255), nullable=True),
sa.PrimaryKeyConstraint('id'),
sa.UniqueConstraint('spn')
)
op.create_table('user',
sa.Column('username', sa.String(length=255), nullable=False),
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('created_at', sa.Date(), nullable=False),
sa.Column('updated_at', sa.Date(), nullable=True),
sa.Column('comment', sa.String(length=255), nullable=True),
sa.PrimaryKeyConstraint('id'),
sa.UniqueConstraint('username')
)
op.create_table('auth',
sa.Column('user_id', sa.Integer(), nullable=True),
sa.Column('value', sa.String(), nullable=True),
sa.Column('extra', sa.String(), nullable=True),
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('created_at', sa.Date(), nullable=False),
sa.Column('updated_at', sa.Date(), nullable=True),
sa.Column('comment', sa.String(length=255), nullable=True),
sa.ForeignKeyConstraint(['user_id'], ['user.id'], ),
sa.PrimaryKeyConstraint('id')
)
op.create_table('profile',
sa.Column('user_id', sa.Integer(), nullable=True),
sa.Column('service_id', sa.Integer(), nullable=True),
sa.Column('username', sa.String(length=255), nullable=False),
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('created_at', sa.Date(), nullable=False),
sa.Column('updated_at', sa.Date(), nullable=True),
sa.Column('comment', sa.String(length=255), nullable=True),
sa.ForeignKeyConstraint(['service_id'], ['service.id'], ),
sa.ForeignKeyConstraint(['user_id'], ['user.id'], ),
sa.PrimaryKeyConstraint('id')
)
def downgrade():
op.drop_table('profile')
op.drop_table('auth')
op.drop_table('user')
op.drop_table('service')
......@@ -20,8 +20,9 @@ class Base(flask_sqlalchemy.Model):
)
@declarative.declared_attr
def id(cls):
return sqlalchemy.Column(sqlalchemy.Integer(), primary_key=True)
def uuid(cls):
return sqlalchemy.Column(sqlalchemy.String(36), primary_key=True,
default=lambda: str(uuid.uuid4()))
@declarative.declared_attr
def created_at(cls):
......@@ -88,7 +89,8 @@ class User(db.Model):
profile.service = service
profile.user = self
profile.username = self.username
profile.uuid = self.username
profile.uuid = self.uuid
profile.status = Profile.ACTIVE
return profile
......@@ -97,7 +99,7 @@ class Auth(db.Model):
"""
__tablename__ = "auth"
user_id = db.Column(db.Integer(), db.ForeignKey(User.id))
user_uuid = db.Column(db.String(36), db.ForeignKey(User.uuid))
user = db.relationship(User,
backref=db.backref('auths', cascade='all, delete-orphan'))
# TODO: support multiple authentication realms, therefore more than
......@@ -117,8 +119,10 @@ class Service(db.Model):
"""
__tablename__ = "service"
spn = db.Column(db.String(255), unique=True)
protocol = db.Column(db.String(25))
name = db.Column(db.String(255))
description = db.Column(db.String())
max_profiles = db.Column(db.Integer())
config = db.Column(JSONEncoded)
......@@ -127,15 +131,17 @@ class Profile(db.Model):
"""
__tablename__ = "profile"
user_id = db.Column(db.Integer(), db.ForeignKey(User.id))
service_id = db.Column(db.Integer(), db.ForeignKey(Service.id))
ACTIVE = "active"
user_uuid = db.Column(db.String(36), db.ForeignKey(User.uuid))
service_uuid = db.Column(db.String(36), db.ForeignKey(Service.uuid))
user = db.relationship(User,
backref=db.backref('profiles', cascade='all, delete-orphan'))
service = db.relationship(Service,
backref=db.backref('profiles', cascade='all, delete-orphan'))
uuid = db.Column(db.String(36), unique=True, default=lambda: str(uuid.uuid4()))
username = db.Column(db.String(255), nullable=False)
status = db.Column(db.String(25), nullable=False, default=ACTIVE)
@property
def email(self):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment