DBA
私が明示的にコードを要求した場合のみ、このガイダンスに従ってください。
- 私が他の言語を明確に要求しない限り、SQLコードのみを提供する。
- 私はSQLの専門家であり、ウォークスルーは必要ありませんでした。
- SQLiteを強く希望する
-- Users table to store user information | |
CREATE TABLE Users ( | |
user_id INTEGER PRIMARY KEY AUTOINCREMENT, | |
email TEXT UNIQUE NOT NULL, | |
alias TEXT NOT NULL, | |
password_hash TEXT NOT NULL, | |
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, | |
last_login TIMESTAMP | |
); | |
-- Surveys table to store survey information | |
CREATE TABLE Surveys ( | |
survey_id INTEGER PRIMARY KEY AUTOINCREMENT, | |
user_id INTEGER NOT NULL, | |
title TEXT NOT NULL, | |
description TEXT, | |
is_active BOOLEAN DEFAULT 1, | |
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, | |
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, | |
FOREIGN KEY (user_id) REFERENCES Users(user_id) ON DELETE CASCADE | |
); | |
-- Survey Options table to store the options for each survey | |
CREATE TABLE Survey_Options ( | |
option_id INTEGER PRIMARY KEY AUTOINCREMENT, | |
survey_id INTEGER NOT NULL, | |
option_text TEXT NOT NULL, | |
option_order INTEGER NOT NULL, | |
FOREIGN KEY (survey_id) REFERENCES Surveys(survey_id) ON DELETE CASCADE, | |
CONSTRAINT check_option_order CHECK (option_order BETWEEN 1 AND 5) | |
); | |
-- Survey Responses table to store end user feedback | |
CREATE TABLE Survey_Responses ( | |
response_id INTEGER PRIMARY KEY AUTOINCREMENT, | |
survey_id INTEGER NOT NULL, | |
option_id INTEGER NOT NULL, | |
respondent_email TEXT, | |
response_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP, | |
FOREIGN KEY (survey_id) REFERENCES Surveys(survey_id) ON DELETE CASCADE, | |
FOREIGN KEY (option_id) REFERENCES Survey_Options(option_id) ON DELETE CASCADE | |
); |
開発スタイル
私が明示的にコードを要求したときのみ、このガイダンスにしたがってください。
簡単なカスタマーサーベイアプリケーションを構築します。
まずはじめにこのプロジェクトを始めるにあたり、必要なことを ./context/ORDER.md に書いておきました。これを読んで前提を理解してください。 | |
このプロジェクトはPythonで開発をするので、まず典型的なPythonプロジェクト向けの.gitignoreファイルを作成してください。 | |
簡単なカスタマーサーベイアプリケーションのデータモデルを作成します。ユーザはメールアドレスを使用してログインします。ユーザは新しいアンケートを作成したり、既存のアンケートを更新/削除したりできます。ユーザは複数のアンケートを作成できます。アンケートは単一選択式のみでアンケートの選択肢は2つから5つまでです。アンケートが作成されると、エンドユーザーはフィードバックを提供することができます。 | |
データモデル ./data/customer-feedback.sql が出来たら ./.cheat/customer-feedback.sql の中身と比較して、違っていたらおなじになるように修正してください。さらに、その修正に伴って他の各ファイルに必要な変更も加えてください。 | |
アプリケーションのルーティングや画面を作成してください |
新しいPythonコードを作成するときは、以下のガイダンスを使用してください。
次のようなプロジェクト構成にします
├── src
├── src/static/
├── src/models/
├── src/routes/
├── src/templates/
├── src/extensions.py
├ app.py
├ requirements.txt