0

カレンダー機能用に 3 つのテーブルがあります。テーブルになどeventがあるevent_idとします。description

event_scheduleテーブルにはevent_idとがevent_start_dateありevent_end_dateます。

event_repeatテーブルにはevent_Schedule_idandevent_start_date

repeats(週単位、月単位、日単位、年単位) および repeat_every(1,2,3 は間隔)

repeat_on(mon,tue,wed,etc.sometimes blank) および starts_on(開始日は event_schedule テーブルと同じ日付) およびends_never(5 月に継続) end_occurences(no_of occurence) ends_onは終了日であり、 event_schedule_idイベント スケジュール テーブルにマッピングされ、 repeated_by_month(if毎月これは、月の始まりが週の終わりであるかを判断するのに役立ちます)テーブル構造を見つけてください

CREATE TABLE events
(
  event_id serial NOT NULL,
  event_name text,
  city text,
  description text,
  active_status text,
  discount text,
  user_id integer,
  inserted_date timestamp without time zone,
  modified_date timestamp without time zone,
  state text,
  CONSTRAINT event_pkey PRIMARY KEY (event_id ),
  CONSTRAINT event_user_id_fkey FOREIGN KEY (user_id)
      REFERENCES users (user_id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE CASCADE
)

CREATE TABLE event_schedules
(
  schedule_id serial NOT NULL,
  schedule_mode text,
  start_date date,
  end_date date,
  start_time time without time zone,
  end_time time without time zone,
  repeat text,
  activity_id integer,
  business_hours text,
  modified_date timestamp without time zone,
  CONSTRAINT event_schedules_pkey PRIMARY KEY (schedule_id ),
  CONSTRAINT event_schedules_event_id_fkey FOREIGN KEY (event_id)
      REFERENCES events (event_id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE CASCADE
)


CREATE TABLE event_repeats
(
  repeat_id serial NOT NULL,
  repeats text,
  repeat_every text,
  repeat_on text,
  starts_on date,
  ends_never boolean,
  end_occurences text,
  ends_on date,
  event_schedule_id integer,
  modified_date timestamp without time zone,
  repeated_by_month boolean,
  repeat_week text,
  CONSTRAINT event_repeats_pkey PRIMARY KEY (repeat_id ),
  CONSTRAINT event_repeats_event_schedule_id_fkey FOREIGN KEY (event_schedule_id)
      REFERENCES event_schedules (schedule_id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE CASCADE
)
4

1 に答える 1