Things I need to improve on: Wondering if a new tool I use achieves similar outcomes to that which I have already used
Things I need to improve on: Wondering if a new tool I use achieves similar outcomes to that which I have already used
Hey there.
Today is my day off. I went to a dance class. And now I’m chilling in a cafe with my debugging course. Wrapping it up so I can focus fully on my git course. Of course I will revisit it. But I need the bulk of it to be done.
I wasn’t going to write any blog posts today but here I am. I have stuff I need to get done.
Comparing Tools
Okay so in case you haven’t figured it out - I flopped on Alembic. It was such a pretty stupid thing to do. I know new technologies. I am good with them. But I skipped the docs, skipped the tutorial, failed to identify it as an ORM, didn’t realise it was the tool we used as the ORM for my whole repo, and spent four hours working late on trying to fix it - twice. I am not allowed to work late anymore. And I just so epically and badly failed to match my Alembic commands back to what I was trying to do with the outcome.
Depressing! Well all is not lost. I have learned so much. I am going to do the tutorial on Wednesday. As I still need it. And my next ticket is on it too.
But here is the actual feedback
I am good with Django. I am always good with Django. I am weirdly amazing at Django. That is probably partly why I did so well in my technical interview. Django is so autistic.
I am autistic too. And I just really get Django. Like I just really just get it. And so my boss said to me: why can’t you see that Django and Alembic are doing the same things. Well firstly because I didn’t realise that Alembic was an ORM. Why? Because I didn’t even look it up. I didn’t even read the docs.
I just used chat gpt to suss out when to use a command. I thought it was just for one tiny ticket. I didn’t realise it was our ORM for my new repo. But look. I am a clever girl. I love myself and I am very beautiful. We all make mistakes.
And so here: this is what the main point of this blog post was. Again the key thing missing here was the big picture. My boss kept on saying to me: why can’t you see what Alembic does and its equivalent in Django? But somehow I had missed the thing where they were the same kind of tool. So that is the real problem there thanks - I wish that someone had written on the ticket “Alembic is the tool that we use for the ORM for our repo and it is very very important and you need to learn it and it is like our ORM that’s in Django in our other repo but it’s a different tool.” But life isn’t like that and the world isn’t designed for autistic people who can fly when they have enough context - but also I am a software engineer. And I need to be able to spot the blinking ORM for myself. And I don’t know what happened there. Sorry. So let’s assume that I HAD understood quickly that Alembic was the fricking ORM. What should I have done then?
If I had understood that Alembic was the fricking ORM
I want to delete this whole post because I haven’t focused on the point but I feel the feedback was incorrect. I can easily point back what one command does back to another equivalent command. I’m autistic. I can spot patterns. But I still need to look at the feedback
Furiously I swallow my pride.
I am going to need to write another blog post on this aren’t I
On this:
- Django has a command to make migrations.
- I make my changes to the model
- And then I run python manage.py make migrations
- And then the migrations files are made, are created
- Then I run python manage.py migrate
- And the migrations are applied to the db
Similarly:
- In Alembic I make my changes to the data classes
- I didn’t realise that thats what I was actually doing - I just wanted to get the ticket done
- Okay so in Alembic I made my changes to the data classes
- Then I run the command that creates the migrations.
- I can’t remember what it is
- We have our own make file command
- And then I know that some actual Alembic as run but I don’t want to spill our command so I know that the migration file gets created
- And sometimes you have to fix them
- Eg I have had to fix mine before
And then:
- You run the makefile command that RUNS the migration file and migrates things
- In Django it’s just python manage.py migrate
- In Alembic it’s the one that says like upgrade head or whatever
- Again we have our on makefile for this
- And then this performs the migration
Comments
Post a Comment