Day 2 of #100DaysOfCode
Finished writing migrations for HypeTracker's database in Laravel.
Working on adding the mutators for each
Model
class because I decided to give Laravel's ORM, Eloquent, a shot.
Learnings
Found out that even though composite (primary) keys are available in migrations, it's not an available option for Eloquent ORM Model classes?
Very interesting block and decided to look into it.
Found this thread on stackoverflow explaining its non-supported use and a workaround (it's been asked about for over 5 years!).
Of course, because it's an open source project, I wanted to take a look on the repository to see if this has been implemented since that time.
Basically nothing has been done yet.
But that's just the nature of open source projects, the bigger the project, the slower things are going to move. Especially when they see this as a non-issue.
Of course, I'm not going to just give up and scrap all my current work. I just used the workaround for now and see how it goes.
Moral of the story?
ORMs can help in abstracting database queries and makes your program "database-agnostic", but you are depending on the upstream or basically "vendor-locked" if any issues arise.
Afterwords
Let me know if you use an ORM or raw SQL in the commets!
Follow my journey on DEV or twitter!
Read why I'm refactoring a 2 year old project
Article No Longer Available
HypeTracker Repository
jcsho / hype-tracker
Full stack web application to read data from public APIs (Twitter, Reddit) and form visualizations
HypeTracker is a data aggregator application for social media 'impressions' on sneakers bought and sold in the aftermarket.
See my blog detailing what HypeTracker is and why I am refactoring it
Changelog / Goals for V2
-
migrate database schemasee PR #4 -
migrate internal sneakers APIsee PR #7 -
migrate front-end see PR#17 - deploy as demo / push as v2
- add social media api scraping
Getting Started
Requirements
Homestead
- PHP ^7.3
- Composer ^1.10.13
- Vagrant ^2.2.10 (with your choice of virtualization layer)
- (example) VirtualBox ^6.1.14 (with Vagrant's VirtualBox provider)
$ git clone https://github.com/justinhodev/hype-tracker.git
$ cd hype-tracker
# Install Composer Dependencies
$ composer install
# Prepare config for Homestead
$ composer homestead
# Provision the VM
$ vagrant up
# SSH into Vagrant Box
$ vagrant ssh
Docker
coming soon
Top comments (0)