質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Q&A

2回答

1173閲覧

MySQLでの承認システム

foxriver

総合スコア34

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

0グッド

0クリップ

投稿2017/06/18 18:15

現在、ユーザーがコンテンツを作成→それを管理者が承認、公開する、というシステムを作っています。
ユーザーが作ったコンテンツにはテキスト情報の他、その下にも子コンテンツがあり、コンテンツと子コンテンツは一対多の関係となっています。
管理者はユーザーの作ったコンテンツをチェックし、承認したらその情報を公開、却下の場合はユーザーに戻して再度修正を行ってもらう。というプロセスです。

ユーザーは一度コンテンツが公開された後にそのコンテンツを再度修正し、また管理者がチェックをして承認の際には新情報を公開することができる機能をつけたいのですが、その時のテーブルの構造について悩んでいます。

①一度公開されたコンテンツは再度承認されるまで変更されてはいけない
②子コンテンツは変更の他にも削除や追加が可能
③その上で更新の際、どの部分が変更されたのか(子コンテンツの場合はさらに追加、削除されたのか)をあぶりだせるようにする

上記三点を満たすテーブルの持ち方、動きについてご教授いただけたらと思います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

こういうのはMySQLでというよりワークフローとして実現すべきものかも
MySQLはそのワークフローの永続化先として使う的な考えをしてみてはどうでしょう

投稿2017/06/18 21:48

dojikko

総合スコア3939

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

wikipediaのように常に履歴を残していく感じでしょうか
これもwikipediaの仕様にありますが、短時間に何度も同じ文書を編集した場合
ロックするか警告が編集者のところに送られるような仕組みも必要です。
基本はファイル単位で管理した方が楽そうですが、sqlでidと絡めてて管理してもいいですし
オーバーヘッドは大きいでしょうけど全てをsqlに保存していくという方法でも
運用不可能ではないと思います

投稿2017/06/19 01:08

yambejp

総合スコア114572

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問