sqlite3で外部キー制約を常に有効にする

sqlite3で外部キー制約を設定したテーブルの行を削除しようとした。 制約があるために削除されないことを期待したが、削除されてしまった。 sqlite3では、テーブルに制約を課していても、sqlite3の設定を有効にしないといけないらしい。 そのためのコマンドが以下である。 PRAGMA foreign_keys = ON; ...

MySQLでenumの値をランダムに用意してINSERTする

enumのような複数の値のいずれかを保持するフィールドにテストデータを用意したいので、その方法を調べた。 MySQLにあるELT関数を使うことで簡単にテストデータを用意できる。 ELT関数は第1引数に後続のカンマ区切りのリストの順番を入力し、第2引数以降に値を指定していく。 たとえば以下のように第2引数以降に`'Aa', 'Bb', 'Cc ...

Nuxt ルーティングでURLの一覧を確認する方法

Nuxtはディレクトリ構成でルーティングを自動で設定してくれるので、どういうURLが生成せれたのか確認したいことがある。 サーバーサイドのフレームワークは大抵起動するとログにURL一覧を出力してくれる。 しかし、Nuxtはnpm run devで起動すると、以下のように起動したポートは表示しれくれるものの、URL一覧を出力してくれない。 ℹ ...

Nuxt ルーティングでURLパスのidを数値チェックする

Nuxtでhttp://localhost:3000/users/:idのようにURLのパスが数値であることを検証する方法を記載する。 validateメソッドを使うことで検証できる。 環境構築 Nuxtアプリケーションをインストールする。 ルーティングはデフォルトで入っているので、特別必要なプラグインはない。 なお、ここでは`@nux ...

Composition APIでTypeScriptを使いv-modelで扱える簡易なフォームコンポーネントを作る

Composition APIでTypeScriptを使って、フォームを作るサンプルコードを書いた。 フォームのコンポーネントとしてinput[type=text]、textarea、checkbox、radio、selectの簡易なものを用意した。 フォームのコンポーネントは親コンポーネントと子コンポーネント間のデータのやりとりがハマりどころだ。だから`v- ...