If you ever run into:
(1005, 'Can't create table `database_name`.`table_name` (errno: 150 "Foreign key constraint is incorrectly formed")
Run:
mariadb -e "SHOW ENGINE INNODB STATUS"
#!/usr/bin/env python | |
# based on | |
# https://tylercipriani.com/blog/2017/07/09/the-rsync-algorithm-in-python/ | |
from collections.abc import Generator | |
from hashlib import md5 | |
from io import BufferedReader, TextIOWrapper | |
from logging import DEBUG, INFO, basicConfig, getLogger | |
from os import PathLike |
If you ever run into:
(1005, 'Can't create table `database_name`.`table_name` (errno: 150 "Foreign key constraint is incorrectly formed")
Run:
mariadb -e "SHOW ENGINE INNODB STATUS"
#!/usr/bin/env bash | |
set -eu -o pipefail; | |
function check { | |
PLUGINS=$(asdf plugin list) | |
echo "Plugin Current Latest" | |
for plugin in ${PLUGINS}; do | |
LATEST_VERSION=$(asdf latest ${plugin}) | |
CURRENT_VERSION=$(asdf current ${plugin}| perl -lne 'print $& if /((\d+\.){2}\d+(-otp-\d+)?)/') |
# Load via: | |
# if [ -f "${HOME}/.functions.sh" ]; then . "${HOME}/.functions.sh"; fi | |
# MIT License | |
if [ "${PLATFORM}" = "Linux" ]; then | |
alias pbcopy='xclip -selection clipboard' | |
alias pbpaste='xclip -selection clipboard -o' | |
fi | |
function extract() { |
cat ~/.ssh/id_rsa.pub | ssh <username>@<ip_address> "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys" |
#!/usr/bin/env python | |
"""Usage Example: | |
$ python reserved_words_retriever.py --help | |
usage: reserved_words_retriever.py [-h] [-y] [-a] [-w] [-d] | |
Retrieve the reserved keywords for MySQL and/or MariaDB | |
options: | |
-h, --help show this help message and exit |
#!/usr/bin/env python | |
"""The following module is an implementation of American SOUNDEX. | |
SOUNDEX is a phonetic algorithm for indexing names by sound, as pronounced in English. | |
The goal is for homophones to be encoded to the same representation so that they can be | |
matched despite minor differences in spelling. | |
This implements the algorithm as defined on: | |
https://en.wikipedia.org/wiki/Soundex#American%20Soundex |
#!/usr/bin/env python | |
from __future__ import annotations | |
from uuid import uuid4, UUID | |
from typing import Sequence | |
class Node: | |
node_id: UUID | |
time_to_complete: int | |
children: Sequence[Node] |
import re | |
# https://github.com/sqlalchemy/alembic/blob/c97d5b3dd6fde31acb8e9e0c67d0ebc54fa0d809/alembic/script/base.py#L682 | |
_slug_re = re.compile(r"\w+") | |
truncate_slug_length = 40 | |
def generate_slug(message: str) -> str: | |
slug = "_".join(_slug_re.findall(message or "")).lower() | |
if len(slug) > truncate_slug_length: | |
slug = slug[: truncate_slug_length].rsplit("_", 1)[0] + "_" |