From 667c88aa52160a57c5b4ace3481cac1cf3d43733 Mon Sep 17 00:00:00 2001 From: kaiyou <pierre@jaury.eu> Date: Wed, 13 Nov 2019 17:55:44 +0100 Subject: [PATCH] Add a proper initial database creation script --- .../fa59f288c9f2_initial_database_creation.py | 100 ++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 migrations/versions/fa59f288c9f2_initial_database_creation.py diff --git a/migrations/versions/fa59f288c9f2_initial_database_creation.py b/migrations/versions/fa59f288c9f2_initial_database_creation.py new file mode 100644 index 00000000..5447507a --- /dev/null +++ b/migrations/versions/fa59f288c9f2_initial_database_creation.py @@ -0,0 +1,100 @@ +""" Initial database creation + +Revision ID: fa59f288c9f2 +Revises: +Create Date: 2019-11-13 17:55:19.026431 +""" + +from alembic import op +import sqlalchemy as sa +import hiboo + + +revision = 'fa59f288c9f2' +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('provider', sa.String(length=255), nullable=True), + sa.Column('application', sa.String(length=255), nullable=True), + sa.Column('description', sa.String(), nullable=True), + sa.Column('policy', sa.String(length=255), nullable=True), + sa.Column('max_profiles', sa.Integer(), nullable=False), + sa.Column('same_username', sa.Boolean(), nullable=False), + sa.Column('config', hiboo.models.JSONEncoded(), nullable=True), + sa.Column('uuid', sa.String(length=36), nullable=False), + sa.Column('created_at', sa.DateTime(), nullable=False), + sa.Column('updated_at', sa.DateTime(), 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('is_admin', sa.Boolean(), nullable=False), + sa.Column('uuid', sa.String(length=36), nullable=False), + sa.Column('created_at', sa.DateTime(), nullable=False), + sa.Column('updated_at', sa.DateTime(), 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', hiboo.models.JSONEncoded(), nullable=True), + sa.Column('uuid', sa.String(length=36), nullable=False), + sa.Column('created_at', sa.DateTime(), nullable=False), + sa.Column('updated_at', sa.DateTime(), 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('extra', hiboo.models.JSONEncoded(), nullable=True), + sa.Column('uuid', sa.String(length=36), nullable=False), + sa.Column('created_at', sa.DateTime(), nullable=False), + sa.Column('updated_at', sa.DateTime(), 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') + ) + op.create_table('history', + sa.Column('user_uuid', sa.String(length=36), nullable=True), + sa.Column('profile_uuid', sa.String(length=36), nullable=True), + sa.Column('service_uuid', sa.String(length=36), nullable=True), + sa.Column('actor_uuid', sa.String(length=36), nullable=True), + sa.Column('public', sa.Boolean(), nullable=True), + sa.Column('category', sa.String(length=25), nullable=True), + sa.Column('value', sa.String(), nullable=True), + sa.Column('uuid', sa.String(length=36), nullable=False), + sa.Column('created_at', sa.DateTime(), nullable=False), + sa.Column('updated_at', sa.DateTime(), nullable=True), + sa.Column('comment', sa.String(length=255), nullable=True), + sa.ForeignKeyConstraint(['actor_uuid'], ['user.uuid'], ), + sa.ForeignKeyConstraint(['profile_uuid'], ['profile.uuid'], ), + 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('history') + op.drop_table('profile') + op.drop_table('auth') + op.drop_table('user') + op.drop_table('service') + # ### end Alembic commands ### -- GitLab