SQLでテーブル名カラム名データ型変更、not nullとdefault 0とコメントを追加する

'ALTER TABLE `table_name` MODIFY `column_name` int(1) DEFAULT 0 NOT NULL COMMENT \'コメント内容\';

railsexecute('') にこれを入れて使った。
普通にsql叩くだけならバックスラッシュでクオーテーションをエスケープしないで良いかも。

rbenvで古いrubyが使えなくなったので、rbenv再インストールからやり直す

※Qiitaより引越

前提

  • Ruby on Railsで古いruby(2.3.0),rails(4.1.5)を使いたい。
  • MacOS Catalina 10.15.5
  • nokogiriのエラーから、rbenv再インストールとかやってたら、rbenv: gem: command not foundになった。
  • rbenv install 2.3.0が実行できず、opensslが必要と言われている所からです。

※ 思い出しながらなので少し曖昧です。

内容

opensslがインストールできないのを解消

rbenv install 2.3.0
The Ruby openssl extension was not compiled.
BUILD FAILED

↑みたいに怒られる。

brew install openssl
brew reinstall openssl

brew reinstall opensslするように促されるので実行。

Warningで以下のエラー。

Error: An exception occurred within a child process:
 FormulaUnavailableError: No available formula with the name "/usr/local/opt/php@7.1/.brew/php@7.1.rb".

brew doctorでも↓が出てる。

Warning: Some installed kegs have no formulae!
This means they were either deleted or installed with `brew diy`.
You should find replacements for the following formulae:
 php@7.1

PHPの環境を作ってるわけでもなく、 元々PHP依存の何かを使っていた訳でもない。 おそらく適当にコピペでコマンドを試してしまった(絶対ダメ)のだろうと↓を実行。

brew uninstall php@7.1

brew doctorのWarningも消え、 brew reinstall opensslが通りました。

rbenv install 2.3.0できないことの解消

この時点で、 rbenv install 2.3.0がコケる。 rbenv install 3.0.2とかは大丈夫でした。

ruby2.4以下は、openssl@1.1ではビルド失敗するらしい。

なので↓のコマンドを使い、openssl@1.1を使ってビルドしていることをまず確認。

echo $RUBY_CONFIGURE_OPTS

次に↓でopenssl@1.0に変更、変更できた事を確認。

$echo 'RUBY_CONFIGURE_OPTS="--with-openssl-dir=/usr/local/opt/openssl@1.0"' >> .bash_profile
source ~/.bash_profile
echo $RUBY_CONFIGURE_OPTS

openssl@1.0がインストールされていない場合、 インストールが必要です。

bundle install〜rails s

gem install bundler

新しいbundlerが指定されるので、 古いrubyではコケる。

gem install bundler -v 1.17.3

でbundlerをインストール完了。

bundle install --path vendor/bundle
bin/rails s

でサーバー起動完了。

感想

  • nokogiriやらopenssl,therubyracer,tzinfo-data....のエラーは頻繁に出会うけどすぐ解消できるイメージで雑にやってしまいました。
  • そのため、MacRails使いたいのにubuntuの人とか、PHPの人とかのコマンドを適当にコピペしてしまった。無駄に時間を使った気がします。
  • 恐れすぎもよくないけど、自分の中では論理的だと思える仮説を作ってから実施した方が良いですね。

参考サイト

https://www.kasacchiful.net/blog/2020/03/27/rbenv-openssl-error/ https://stackoverflow.com/questions/64816796/ruby-install-aborted-due-to-missing-extensions-openssl-readline-zlib-compilat

Desktop, Downloads掃除コマンド

※Qiitaより引越

記事引越について

QiitaはVSCodeやデバッガーなど便利系の需要が強い。
ユーザー数の多さや、SEOの強さも関係しているのかもしれない。
なのでこういった需要のない記事をこちらに移動していく方針。
閲覧の邪魔になりたくないので。

Zennに関しても簡単なスクリプトや、
Reactなどドキュメントが英語中心のものの需要が高いように思うので、
それ以外のものは引越検討中。
そのうちこのblogをhatenaのプロプランにするかも。

はじめに

ズボラがたたってDesktopがぐちゃぐちゃ。。。 という状況でした。 でもちゃんと整理するのも大変なので、 せめて拡張子を元に機械的に整理しようという事で作りました。

内容

作成手順

ディレクトリ作成

まず必要なディレクトリを作成

mkdir パワーポイント アプリケーション関係 ソースコード類 画像 テキスト

コマンド作成

こちらの方法で以下内容のスクリプトを作成。 整頓という意味でtidyと命名

#!/bin/bash
mv ~/Desktop/*.pptx ~/Desktop/パワーポイント
mv ~/Desktop/*.key ~/Desktop/パワーポイント
mv ~/Desktop/*.zip ~/Desktop/アプリケーション関係
mv ~/Desktop/*.dmg ~/Desktop/アプリケーション関係
mv ~/Desktop/*.pkg ~/Desktop/アプリケーション関係
mv ~/Desktop/*.html ~/Desktop/ソースコード類
mv ~/Desktop/*.js ~/Desktop/ソースコード類
mv ~/Desktop/*.sql ~/Desktop/ソースコード類
mv ~/Desktop/*.css ~/Desktop/ソースコード類
mv ~/Desktop/*.yml ~/Desktop/ソースコード類
mv ~/Desktop/スクリーンショット* ~/Desktop/画像
mv ~/Desktop/*.png ~/Desktop/画像
mv ~/Desktop/*.mov ~/Desktop/画像
mv ~/Desktop/画面収録* ~/Desktop/画像
mv ~/Desktop/*.jpg ~/Desktop/画像
mv ~/Desktop/*.mp4 ~/Desktop/画像
mv ~/Desktop/*.csv ~/Desktop/テキスト
mv ~/Desktop/*.txt ~/Desktop/テキスト
mv ~/Desktop/*.json ~/Desktop/テキスト
mv ~/Desktop/*.md ~/Desktop/テキスト
mv ~/Desktop/*.xm ~/Desktop/テキスト
mv ~/Desktop/*.drawio ~/Desktop/テキスト
mv ~/Desktop/*.pdf ~/Desktop/テキスト

mv ~/Downloads/*.pptx ~/Desktop/パワーポイント
mv ~/Downloads/*.key ~/Desktop/パワーポイント
mv ~/Downloads/*.zip ~/Desktop/アプリケーション関係
mv ~/Downloads/*.dmg ~/Desktop/アプリケーション関係
mv ~/Downloads/*.pkg ~/Desktop/アプリケーション関係
mv ~/Downloads/*.html ~/Desktop/ソースコード類
mv ~/Downloads/*.js ~/Desktop/ソースコード類
mv ~/Downloads/*.sql ~/Desktop/ソースコード類
mv ~/Downloads/*.css ~/Desktop/ソースコード類
mv ~/Downloads/*.yml ~/Desktop/ソースコード類
mv ~/Downloads/スクリーンショット* ~/Desktop/画像
mv ~/Downloads/*.png ~/Desktop/画像
mv ~/Downloads/*.mov ~/Desktop/画像
mv ~/Downloads/画面収録* ~/Desktop/画像
mv ~/Downloads/*.jpg ~/Desktop/画像
mv ~/Downloads/*.mp4 ~/Desktop/画像
mv ~/Downloads/*.csv ~/Desktop/テキスト
mv ~/Downloads/*.txt ~/Desktop/テキスト
mv ~/Downloads/*.json ~/Desktop/テキスト
mv ~/Downloads/*.md ~/Desktop/テキスト
mv ~/Downloads/*.xm ~/Desktop/テキスト
mv ~/Downloads/*.drawio ~/Desktop/テキスト
mv ~/Downloads/*.pdf ~/Desktop/テキスト

実行

整理したいディレクトリに行って、以下を実行。

tidy

使ってみて

思いのほか便利です。 ある程度ファイル分けされていると、 その中でちゃんと整理するのは楽。

最初対応させていなかった拡張子のファイルが出たら 拡張子を増やして対応しています。

Next.jsリポジトリ上のnodeスクリプトでrequire('dotenv').config()を書かない

説明

next.config.jsの一番上などに

require('dotenv').config()

を移す。

nodeスクリプト

require('../../next.config')
// 〜処理〜

みたいに呼び出して使う。

参考記事

qiita.com