ニュースリリース用のテーブル(MySQL)を作成する際、
- 記事作成日時
- 公開開始日時
- 公開終了日時
- 公開フラグ(公開期間中に非表示にする必要がある)
- 最終編集日時
- 削除日時(論理削除)
を記録する必要があり、
記事の公開判定が
- 削除日時 < 現在なら非公開
- 公開フラグがOFFなら非公開
- 公開開始日時が指定されている場合は公開開始日時 > 現在で非公開
- 公開終了日時が指定されている場合は公開終了日時 < 現在で非公開
となる場合のテーブル定義の名付けに悩んでおります
ひとまず以下のように日時を過去形(〇〇された日時)として定義しているのですが、
正直あまり気持ちよくないなぁと思っております。
項目 | フィールド名 | データ型 | NULL |
---|---|---|---|
記事作成日時 | created | datetime | |
公開開始日時 | published | datetime | ○ |
公開終了日時 | closed | datetime | ○ |
公開フラグ | publish_flag | tinyint(1) | |
最終編集日時 | updated | timestamp | |
削除日時 | deleted | timestamp |
妥当な名付けはございますでしょうか。
または、皆様ならどのような名付けをするのかお伺いできればと思います。
https://teratail.com/help/avoid-asking
> teratailは困っている人の質問を解決するサービスです。そのため、漠然とした興味から票を募るような質問や、意見の主張をすることを目的とした投稿は推奨していません。
何か困っている理由があり、最適解を見つける為の知見を得たい場合は、その理由や何が知りたいのかを明確に記述してください。
この質問で「困っていること」が何なのかサッパリわかりませんし、「気持ちよくない」を理由に「皆さんならどうしますか?」という質問がここの趣旨に合っているとは思えませんが。
まぁ回答じゃないですけど、質問文に書いてあるカラム名でもだいたい問題ないと思いますけどね。
flagってやつだけ、名前からオンとオフが何を表すのか伝わってこないから「published」はこっちに使いたいし、そうすると日付項目と被るから、日付の方を「publishedAt」とか「publishDate」とか、時間を指していることがわかる接尾辞を統一的につけるぐらい。
回答1件
あなたの回答
tips
プレビュー