def METHOD_NAME():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table(
        "wallets",
        sa.Column("wallet_id", sa.BigInteger(), autoincrement=True, nullable=False),
        sa.Column("name", sa.String(), nullable=False),
        sa.Column("description", sa.String(), nullable=True),
        sa.Column("owner", sa.BigInteger(), nullable=False),
        sa.Column("thumbnail", sa.String(), nullable=True),
        sa.Column(
            "status", sa.Enum("ACTIVE", "INACTIVE", name="walletstatus"), nullable=False
        ),
        sa.Column(
            "created",
            sa.DateTime(timezone=True),
            server_default=sa.text("now()"),
            nullable=False,
        ),
        sa.Column(
            "modified",
            sa.DateTime(timezone=True),
            server_default=sa.text("now()"),
            nullable=False,
        ),
        sa.ForeignKeyConstraint(
            ["owner"],
            ["groups.gid"],
            name="fk_wallets_gid_groups",
            onupdate="CASCADE",
            ondelete="RESTRICT",
        ),
        sa.PrimaryKeyConstraint("wallet_id"),
    )
    op.create_table(
        "wallet_to_groups",
        sa.Column("wallet_id", sa.BigInteger(), nullable=True),
        sa.Column("gid", sa.BigInteger(), nullable=True),
        sa.Column(
            "read", sa.Boolean(), server_default=sa.text("false"), nullable=False
        ),
        sa.Column(
            "write", sa.Boolean(), server_default=sa.text("false"), nullable=False
        ),
        sa.Column(
            "delete", sa.Boolean(), server_default=sa.text("false"), nullable=False
        ),
        sa.Column(
            "created",
            sa.DateTime(timezone=True),
            server_default=sa.text("now()"),
            nullable=False,
        ),
        sa.Column(
            "modified",
            sa.DateTime(timezone=True),
            server_default=sa.text("now()"),
            nullable=False,
        ),
        sa.ForeignKeyConstraint(
            ["gid"],
            ["groups.gid"],
            name="fk_wallet_to_groups_gid_groups",
            onupdate="CASCADE",
            ondelete="CASCADE",
        ),
        sa.ForeignKeyConstraint(
            ["wallet_id"],
            ["wallets.wallet_id"],
            name="fk_wallet_to_groups_id_wallets",
            onupdate="CASCADE",
            ondelete="CASCADE",
        ),
        sa.UniqueConstraint("wallet_id", "gid"),
    )
    op.create_table(
        "projects_to_wallet",
        sa.Column("project_uuid", sa.String(), nullable=False),
        sa.Column("wallet_id", sa.BigInteger(), nullable=False),
        sa.Column(
            "created",
            sa.DateTime(timezone=True),
            server_default=sa.text("now()"),
            nullable=False,
        ),
        sa.Column(
            "modified",
            sa.DateTime(timezone=True),
            server_default=sa.text("now()"),
            nullable=False,
        ),
        sa.ForeignKeyConstraint(
            ["project_uuid"],
            ["projects.uuid"],
            name="fk_projects_comments_project_uuid",
            onupdate="CASCADE",
            ondelete="CASCADE",
        ),
        sa.ForeignKeyConstraint(
            ["wallet_id"],
            ["wallets.wallet_id"],
            name="fk_projects_wallet_wallets_id",
            onupdate="CASCADE",
            ondelete="CASCADE",
        ),
        sa.PrimaryKeyConstraint("project_uuid"),
    )
    op.create_index(
        op.f("ix_projects_to_wallet_project_uuid"),
        "projects_to_wallet",
        ["project_uuid"],
        unique=False,
    )
    # ### end Alembic commands ###
    op.execute(assign_wallet_access_rights_to_owner_group_procedure)
    op.execute(wallet_trigger)