MySQL and MariaDB have an SQL mode setting which changes how MySQL behaves. The SQL mode value is comprised of...
On your local system that only hosts non-critical development data and only you have access to, you can store...
When you have string contents (e.g. a generated binary stream, or data from a remote source) that you want to...
In Spreewald 1.10.4+, nested patiently blocks are now patient. Here is an example: patiently do outer_code patiently do
Your default postgres user is named like your linux user. That default user has limited access privileges, which can cause...
Bundler::GemRequireError: There was an error while trying to load the gem 'mysql2'. Gem Load Error is: Incorrect MySQL client...
mysql> SELECT @@global.version; +------------------+ | @@global.version | +------------------+ | 5.6.30 | +------------------+ 1 row in set (0,00 sec) MySQL 5.6 Reference Manual says "BLOB and TEXT...
Generating a project README Finally: Support for modelling associations between models in your application model! Example: # lib/katapult/application_model.rb
Understanding your type of cronjob Some cronjobs must only run on a single server. E.g. when you run nightly batch...
Enumerable#all? returns true for an empty collection. This totally makes sense but you have to think about it when...
This is an extension to PostgreSQL vs MySQL: How to UPDATE using a JOIN. UPDATE employees SET department_name = departments.name...
Font Awesome version 5 changed some icon names, and introduces new prefixes fab, far, and fas. There is a JavaScript...
TL;DR Use user.update!(remove_avatar: true) to delete attachments outside of forms. This will have the same behavior as...
To check which elements an ActiveRecord relation contains use the contain_exactly matcher. describe User do let!(:admin) { create(:user...
This is a small example on how you can check if your Postgres index can be used by a specific...
This is painful. Consider using Microsoft Office or switching careers. If you need to write < 20 letters consider doing it...
This error is raised because your old database does not have a configured environment yet, which Rails 5 enforces.
You should avoid using application models in your migrations. But how else could you create records in a migration?
PostgreSQL's Common Table Expressions (CTEs) can be used to extract sub-queries from bulky SQL statements into a temporary...
PostgreSQL supports the SQL OVERLAPS operator. You can use it to test if two date ranges overlap: => SELECT ('2001-02...
Git has two kind of tags: annotated lightweight Annotated tags are stored as full objects in the Git database. They...
We're usually running Ubuntu LTS versions. Sometimes newer hardware requires packages from more recent Ubuntu releases that only come...
Checking if a JavaScript value is of a given type can be very confusing: There are two operators typeof and...
An end-to-end test (E2E test) is a script that remote-controls a web browser with tools like Selenium...