Posts

Upgrading to Laravel 8.x

Laravel 8.x came out on 9/8/2020 and we wanted to create a post for how to update our applications to the newest version of Laravel.

Read More

What Is The Correct Granularity For Our Events?

One of the most important and yet hardest decisions we will have to make with event sourcing is how granular our events should be. There isn’t a single answer for this and it’s a decision we’ll have to make on a case by case basis as new events need to be created.

Read More

Link Post and Podcast Roundup: September 2020 Edition

September’s links.

Read More

Fixing the 'Create table 'database/#sql-4c1_17' with foreign key constraint failed.' Error in MySQL

Foreign key constraints in SQL provide an excellent way to make sure that our databases don’t have orphaned records or invalid relationships. They can be a bit finicky if we’re not paying attention when we create them. This article will discuss how to fix one of the more opaque errors when we’re creating foreign key constraints.

Read More

Installing PHP 8.0 Beta 1 on Ubuntu 20.04 (Focal Fossa)

PHP 8 is on its way and we wanted to have the opportunity to work with it for some of our future expansions at ThisProgrammingThing.com (sign up for our mailing list to learn when it launches). This guide will explain how to install a bare-bones version of PHP 8.0.0 Beta 1 on Ubuntu 20.04 (Focal Fossa).

Before we get started this should NOT be installed on a production server. This build exists to demo the new core features and doesn’t include a lot of the common features (like PDO).

Read More

Link Post and Podcast Roundup: August 2020 Edition

August’s links.

Read More

Developing a Culture of Quality Code

This post is the companion piece to my presentation at Midwest PHP 2020. It contains helpful links and reading selections.

Read More

What the F*ck Is With All the Artisan Commands: Schedules

Scheduled tasks will be a core part of our application’s life cycle. We need to be able to send invoices every month and reminder users of upcoming items. Laravel provides a clean interface for quickly setting up scheduled tasks.

Read More

Help Support This Programming Thing

This Programming Thing is a labor of love, but we’re currently losing money every month. If you would like to help us offset some of our costs please use the links below.

How You Can Help

  1. Amazon US - Just click on the link and a make purchase like you would normally and a portion of your purchase will be credited to us.
  2. Digital Ocean $100 Credit for First 60 Days - Digital Ocean is our current favorite hosting provider for VPS.

Why Foreign Key Constraints Are Not Optional

Joe was hired into a company to maintain a PHP application with a MySQL database. They would have random reports of duplicate data and data with missing information. When Joe looked into the problem 9 times out of 10 it was due to an issue where a user deleted one row but the same delete operation didn’t delete rows related to the original row. This caused that orphaned data to show up in some reports and cause odd join results in others.

SQL provides an excellent way to make sure that our databases don’t have orphaned rows or invalid relationships. Using them is a must for all table relationships.

Read More

Join Our Mailing List!

View previous campaigns.

subscribe via RSS

All content copyright This Programming Thing 2012 - 2020
Blogging about PHP, MySQL, Zend Framework, MySQL, Server Administration and Programming in general