-\connect - postgres
-CREATE SEQUENCE "media_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ;
-SELECT nextval ('"media_id_seq"');
+--
+-- media_folder
+--
+
CREATE SEQUENCE "media_folder_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ;
-SELECT nextval ('"media_folder_id_seq"');
-CREATE SEQUENCE "creator_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ;
-SELECT nextval ('"creator_id_seq"');
-CREATE SEQUENCE "feature_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ;
-SELECT nextval ('"feature_id_seq"');
-CREATE SEQUENCE "topic_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ;
-SELECT nextval ('"topic_id_seq"');
-CREATE SEQUENCE "webdb_users_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ;
-SELECT nextval ('"webdb_users_id_seq"');
-CREATE SEQUENCE "comment_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ;
-SELECT nextval ('"comment_id_seq"');
-CREATE SEQUENCE "breaking_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ;
-SELECT nextval ('"breaking_id_seq"');
-CREATE SEQUENCE "messages_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ;
-SELECT nextval ('"messages_id_seq"');
+
CREATE TABLE "media_folder" (
- "id" int4 DEFAULT nextval('media_folder_id_seq'::text) NOT NULL,
+ "id" integer DEFAULT nextval('media_folder_id_seq'::text) NOT NULL,
"name" character varying(255) NOT NULL,
"date" character(8) NOT NULL,
"place" character varying(80),
"keywords" text,
"comment" text,
- "webdb_create" timestamp NOT NULL,
- "webdb_lastchange" timestamp
+ "webdb_create" timestamp with time zone NOT NULL,
+ "webdb_lastchange" timestamp with time zone
);
+
+--
+-- media_type
+--
+
+CREATE SEQUENCE "media_type_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ;
+
CREATE TABLE "media_type" (
- "id" int2 NOT NULL,
+ "id" integer DEFAULT nextval('media_type_id_seq'::text) NOT NULL,
"name" character varying(80) NOT NULL,
+ "mime_type" character varying(40) NOT NULL,
"classname" character varying(80) NOT NULL,
"tablename" character varying(80) NOT NULL,
"dcname" character varying(20)
);
-CREATE TABLE "img_format" (
- "id" int2 NOT NULL,
- "name" character varying(20) NOT NULL,
- "extension" character varying(10) NOT NULL,
- "mimetype" character varying(40) NOT NULL,
- "commment" character varying(255)
-);
-CREATE TABLE "img_layout" (
- "id" int2 NOT NULL,
- "name" character varying(20) NOT NULL
-);
-CREATE TABLE "img_type" (
- "id" int2 NOT NULL,
- "name" character varying(30) NOT NULL
-);
-CREATE TABLE "img_color" (
- "id" int2 NOT NULL,
- "name" character varying(30) NOT NULL
-);
+
+--
+-- language
+--
+
+CREATE SEQUENCE "language_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ;
+
CREATE TABLE "language" (
- "id" int4 NOT NULL,
- "name" character varying(40) NOT NULL,
- "code" character varying(2) NOT NULL,
- PRIMARY KEY ("id")
+ "id" integer DEFAULT nextval('language_id_seq') NOT NULL,
+ "name" character varying(40) NOT NULL,
+ "code" character varying(2) NOT NULL,
+ Constraint "language_pkey" Primary Key ("id")
);
-CREATE TABLE "rights" (
- "id" int4 NOT NULL,
- "name" character varying(80) NOT NULL,
- "description" text,
- PRIMARY KEY ("id")
+
+--
+-- comment_status
+--
+
+CREATE SEQUENCE "comment_status_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ;
+
+CREATE TABLE "comment_status" (
+ "id" integer DEFAULT nextval('comment_status_id_seq') NOT NULL,
+ "name" character varying(40) NOT NULL,
+ CONSTRAINT "comment_status_pkey" PRIMARY KEY ("id")
);
-CREATE TABLE "creator" (
- "id" int4 DEFAULT nextval('creator_id_seq'::text) NOT NULL,
+
+
+
+--
+-- rights
+--
+
+CREATE TABLE "rights" (
+ "id" integer NOT NULL,
"name" character varying(80) NOT NULL,
- "main_url" character varying(255),
- "email" character varying(80),
- "address" character varying(80),
- "phone" character varying(20),
- PRIMARY KEY ("id")
-);
-CREATE TABLE "feature" (
- "id" int4 DEFAULT nextval('feature_id_seq'::text) NOT NULL,
- "title" character varying(80) NOT NULL,
"description" text,
- "filename" character varying(20) NOT NULL,
- "main_url" character varying(255),
- "is_published" bool DEFAULT '0' NOT NULL,
- PRIMARY KEY ("id")
+ Constraint "rights_pkey" Primary Key ("id")
);
+
+--
+-- webdb_users
+--
+
+CREATE SEQUENCE "webdb_users_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ;
+
CREATE TABLE "webdb_users" (
- "id" int4 DEFAULT nextval('webdb_users_id_seq'::text) NOT NULL,
- "login" character varying(16) NOT NULL,
- "password" character varying(16) NOT NULL,
- "is_admin" bool DEFAULT '0' NOT NULL,
- PRIMARY KEY ("id")
-);
-CREATE TABLE "content_x_topic" (
- "content_id" int4 NOT NULL,
- "topic_id" int4 NOT NULL
+ "id" integer DEFAULT nextval('webdb_users_id_seq'::text) NOT NULL,
+ "login" character varying(16) UNIQUE NOT NULL,
+ "password" character varying(255) NOT NULL,
+ "is_admin" boolean DEFAULT '0' NOT NULL,
+ "comment" text,
+ "is_disabled" boolean DEFAULT '0' NOT NULL,
+ "email" character varying(255) DEFAULT '' NOT NULL,
+ "profile" text,
+ "webdb_create" timestamp with time zone NOT NULL,
+ "lastlogin" timestamp with time zone,
+ CONSTRAINT "webdb_users_pkey" Primary Key ("id")
);
+
+
+--
+-- article type
+--
+
+CREATE SEQUENCE "article_type_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ;
+
CREATE TABLE "article_type" (
- "id" int4 NOT NULL,
- "name" character varying(20) NOT NULL
+ "id" integer DEFAULT nextval('article_type_id_seq') NOT NULL,
+ "name" character varying(40) NOT NULL,
+ CONSTRAINT "article_type_pkey" PRIMARY KEY ("id")
);
+
+--
+-- topic
+--
+
+CREATE SEQUENCE "topic_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ;
+
CREATE TABLE "topic" (
- "id" int4 DEFAULT nextval('topic_id_seq'::text) NOT NULL,
- "parent_id" int4 DEFAULT '0' NOT NULL,
+ "id" integer DEFAULT nextval('topic_id_seq'::text) NOT NULL,
+ "parent_id" integer DEFAULT '0' NOT NULL,
"title" character varying(80) NOT NULL,
"description" text,
"filename" character varying(20) NOT NULL,
"main_url" character varying(255),
"archiv_url" character varying(255),
- PRIMARY KEY ("id")
+ Constraint "topic_pkey" Primary Key ("id")
+);
+
+CREATE INDEX "idx_topic_title" on "topic" using btree ( "title" "varchar_ops" );
+
+
+--
+-- content_x_topics
+--
+
+CREATE TABLE "content_x_topic" (
+ "content_id" integer NOT NULL,
+ "topic_id" integer NOT NULL
);
+
+CREATE UNIQUE INDEX "idx_content" on "content_x_topic" using btree ( "content_id" "int4_ops", "topic_id" "int4_ops" );
+CREATE UNIQUE INDEX "idx_topic" on "content_x_topic" using btree ( "topic_id" "int4_ops", "content_id" "int4_ops" );
+
+--
+-- comment
+--
+
+CREATE SEQUENCE "comment_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ;
CREATE TABLE "comment" (
- "id" int4 DEFAULT nextval('comment_id_seq'::text) NOT NULL,
- "title" character varying(80) NOT NULL,
- "creator" character varying(80) NOT NULL,
- "description" text NOT NULL,
- "main_url" character varying(255),
- "email" character varying(80),
- "address" character varying(80),
- "phone" character varying(20),
- "webdb_create" timestamp NOT NULL,
- "is_published" bool DEFAULT '1' NOT NULL,
- "to_language" int4 DEFAULT '0' NOT NULL,
- "to_media" int4 NOT NULL,
- PRIMARY KEY ("id")
-);
-CREATE TABLE "media" (
- "id" int4 DEFAULT nextval('media_id_seq'::text) NOT NULL,
- "title" character varying(80) NOT NULL,
- "subtitle" character varying(30),
- "edittitle" character varying(30),
+ "id" integer DEFAULT nextval('comment_id_seq'::text) NOT NULL,
+ "title" character varying(80) NOT NULL,
+ "creator" character varying(80) NOT NULL,
+ "description" text NOT NULL,
+ "main_url" character varying(255),
+ "email" character varying(80),
+ "address" character varying(80),
+ "phone" character varying(20),
+ "webdb_create" timestamp with time zone NOT NULL,
+ "webdb_lastchange" timestamp with time zone,
+ "is_published" boolean DEFAULT '1' NOT NULL,
+ "to_language" integer DEFAULT '0' NOT NULL,
+ "to_media" integer NOT NULL,
+ "to_comment_status" smallint,
+ "comment" text,
+ "is_html" boolean DEFAULT '0' NOT NULL,
+ Constraint "comment_pkey" Primary Key ("id")
+);
+
+CREATE INDEX "idx_comment_to_media" on "comment" using btree ( "to_media" "int4_ops" );
+CREATE INDEX idx_comment_webdb_create on comment(webdb_create);
+CREATE INDEX "idx_comment_tomedia_ispublished" on "comment" using btree ( "to_media" "int4_ops", "is_published" "bool_ops" );
+
+
+
+ CREATE TABLE "comment_x_media" (
+ "comment_id" integer,
+ "media_id" integer
+ );
+
+ CREATE UNIQUE INDEX idx_comment_media on comment_x_media (comment_id, media_id);
+ CREATE UNIQUE INDEX idx_media_comment on comment_x_media (media_id, comment_id);
+
+
+--
+-- media
+--
+
+CREATE SEQUENCE "media_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ;
+
+--
+-- uploaded_media
+--
+
+CREATE TABLE "uploaded_media" (
+ "id" integer DEFAULT nextval('media_id_seq'::text) NOT NULL,
+ "title" character varying(255),
+ "subtitle" character varying(255),
+ "edittitle" character varying(255),
"date" character(8) NOT NULL,
- "place" character varying(80),
"creator" character varying(80),
"creator_main_url" character varying(255),
"creator_email" character varying(80),
"creator_address" character varying(80),
"creator_phone" character varying(20),
"description" text,
- "keywords" text,
"comment" text,
"source" character varying(255),
- "publish_date" timestamp,
"publish_server" character varying(255),
"publish_path" character varying(255),
- "is_published" bool DEFAULT '0' NOT NULL,
- "to_feature" int4 DEFAULT '0' NOT NULL,
- "to_media_folder" int4 DEFAULT '0' NOT NULL,
- "to_media_type" int2 DEFAULT '0' NOT NULL,
- "to_creator" int4 DEFAULT '0' NOT NULL,
- "to_publisher" int4 NOT NULL,
- "to_language" int4 DEFAULT '0',
- "to_rights" int4 DEFAULT '0',
- "webdb_create" timestamp NOT NULL,
- "webdb_lastchange" timestamp,
- "to_media" int4
+ "is_published" boolean DEFAULT '0' NOT NULL,
+ "is_produced" boolean DEFAULT '0' NOT NULL,
+ "to_media_folder" integer DEFAULT '0' NOT NULL,
+ "to_media_type" smallint DEFAULT '0' NOT NULL,
+ "to_publisher" integer NOT NULL,
+ "to_language" integer DEFAULT '0',
+ "to_rights" integer DEFAULT '0',
+ "webdb_create" timestamp with time zone NOT NULL,
+ "webdb_lastchange" timestamp with time zone,
+ "icon_is_produced" boolean DEFAULT '0' NOT NULL,
+ "icon_path" character varying(255),
+ "size" integer,
+ Constraint "uploaded_media_pkey" Primary Key ("id")
);
+
+CREATE UNIQUE INDEX "idx_uploaded_media_id" on "uploaded_media" using btree ( "id" "int4_ops" );
+CREATE UNIQUE INDEX "idx_uploaded_media_is_published" on "uploaded_media" using btree ( "id" "int4_ops", "is_published" "bool_ops" );
+
+--
+-- images
+--
+
CREATE TABLE "images" (
- "image_data" oid,
- "icon_data" oid,
- "icon_path" character varying(255),
- "icon_is_produced" bool DEFAULT '0' NOT NULL,
+ "image_data" bytea,
+ "icon_data" bytea,
"year" character varying(40),
- "img_width" int2,
- "img_height" int2,
- "to_img_format" int2 DEFAULT '0' NOT NULL,
- "to_img_layout" int2 DEFAULT '0' NOT NULL,
- "to_img_type" int2 DEFAULT '0' NOT NULL,
- "to_img_color" int2 DEFAULT '0' NOT NULL,
- "icon_width" int2,
- "icon_height" int2
+ "img_width" smallint,
+ "img_height" smallint,
+ "to_img_format" smallint DEFAULT '0' NOT NULL,
+ "to_img_layout" smallint DEFAULT '0' NOT NULL,
+ "to_img_type" smallint DEFAULT '0' NOT NULL,
+ "to_img_color" smallint DEFAULT '0' NOT NULL,
+ "icon_width" smallint,
+ "icon_height" smallint
+)
+INHERITS ("uploaded_media");
+
+CREATE INDEX "idx_images_is_published" on "images" using btree ( "is_published" "bool_ops", "icon_is_produced" "bool_ops" );
+CREATE UNIQUE INDEX "idx_images_id" on "images" using btree ( "id" "int4_ops" );
+
+ --
+ -- img_format
+ --
+
+ CREATE TABLE "img_format" (
+ "id" smallint NOT NULL,
+ "name" character varying(20) NOT NULL,
+ "extension" character varying(10) NOT NULL,
+ "mimetype" character varying(40) NOT NULL,
+ "commment" character varying(255)
+ );
+
+ --
+ -- img_layout
+ --
+
+ CREATE TABLE "img_layout" (
+ "id" smallint NOT NULL,
+ "name" character varying(20) NOT NULL
+ );
+
+ --
+ -- img_type
+ --
+
+ CREATE TABLE "img_type" (
+ "id" smallint NOT NULL,
+ "name" character varying(30) NOT NULL
+ );
+
+ --
+ -- img_color
+ --
+
+ CREATE TABLE "img_color" (
+ "id" smallint NOT NULL,
+ "name" character varying(30) NOT NULL
+ );
+
+
+--
+-- audio
+--
+
+CREATE TABLE "audio" (
+ "kbits" smallint
+)
+INHERITS ("uploaded_media");
+
+CREATE INDEX "idx_audio_is_published_produced" on "audio" using btree ( "is_published" "bool_ops", "is_produced" "bool_ops" );
+CREATE UNIQUE INDEX "idx_audio_id" on "audio" using btree ( "id" "int4_ops" );
+
+--
+-- video
+--
+
+CREATE TABLE "video" (
)
-inherits ("media");
+INHERITS ("uploaded_media");
+
+CREATE INDEX "idx_video_is_published_produced" on "video" using btree ( "is_published" "bool_ops", "is_produced" "bool_ops" );
+CREATE UNIQUE INDEX "idx_video_id" on "video" using btree ( "id" "int4_ops" );
+
+--
+-- other_media
+--
+
+CREATE TABLE "other_media" (
+)
+INHERITS ("uploaded_media");
+
+CREATE INDEX "idx_othermedia_is_published_produced" on "other_media" using btree ( "is_published" "bool_ops", "is_produced" "bool_ops" );
+CREATE UNIQUE INDEX "idx_othermedia_id" on "other_media" using btree ( "id" "int4_ops" );
+
+--
+-- content
+--
+
CREATE TABLE "content" (
+ "id" integer DEFAULT nextval('media_id_seq'::text) NOT NULL,
+ "title" character varying(255),
+ "subtitle" character varying(255),
+ "edittitle" character varying(255),
+ "date" character(8) NOT NULL,
+ "creator" character varying(80),
+ "creator_main_url" character varying(255),
+ "creator_email" character varying(80),
+ "creator_address" character varying(80),
+ "creator_phone" character varying(80),
+ "description" text,
+ "comment" text,
+ "source" character varying(255),
+ "is_published" boolean DEFAULT '0' NOT NULL,
+ "is_produced" boolean DEFAULT '0' NOT NULL,
+ "to_publisher" integer NOT NULL,
+ "to_language" integer DEFAULT '0',
+ "to_rights" integer DEFAULT '0',
+ "webdb_create" timestamp with time zone NOT NULL,
+ "webdb_lastchange" timestamp with time zone,
"content_data" text,
- "link_url" character varying(255),
- "date_from" character varying(8),
- "date_to" character varying(8),
- "date_name" character varying(255),
- "is_html" bool DEFAULT '0' NOT NULL,
- "is_produced" bool DEFAULT '0' NOT NULL,
- "is_stored" bool DEFAULT '0' NOT NULL,
- "is_mail_sent" bool DEFAULT '1' NOT NULL,
- "is_digest_sent" bool DEFAULT '1' NOT NULL,
- "to_article_type" int2 DEFAULT '0' NOT NULL
-)
-inherits ("media");
+ "is_html" boolean DEFAULT '0' NOT NULL,
+ "to_article_type" smallint DEFAULT '0' NOT NULL,
+ "to_content" integer,
+ "keywords" text,
+ "to_locking_user" integer,
+ Constraint "content_pkey" Primary Key ("id")
+);
+
+
+CREATE INDEX "idx_content_to_article_type" on "content" using btree ( "to_article_type" "int2_ops" );
+CREATE INDEX "idx_content_is_produced" on "content" using btree ( "is_produced" "bool_ops" );
+CREATE INDEX "idx_content_is_published__to_ar" on "content" using btree ( "is_published" "bool_ops", "to_article_type" "int2_ops" );
+CREATE INDEX "idx_content_is_published__id" on "content" using btree ( "is_published" "bool_ops", "id" "int4_ops" );
+CREATE INDEX "idx_content_is_pub__to_art__to_" on "content" using btree ( "is_published" "bool_ops", "to_article_type" "int2_ops", "id" "int4_ops" );
+CREATE INDEX "idx_content_is_published" on "content" using btree ( "is_published" "bool_ops" );
+CREATE INDEX idx_content_webdb_create on content(webdb_create);
+
+
+ -- content_x_media
+
+ CREATE TABLE "content_x_media" (
+ "content_id" integer,
+ "media_id" integer
+ );
+
+ CREATE INDEX "idx_cxm_content" on "content_x_media" using btree ( "content_id" "int4_ops" );
+ CREATE INDEX "idx_cxm_media" on "content_x_media" using btree ( "media_id" "int4_ops" );
+
+--
+-- breaking
+--
+
+CREATE SEQUENCE "breaking_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ;
+
CREATE TABLE "breaking" (
- "id" int4 DEFAULT nextval('breaking_id_seq'::text) NOT NULL,
- "text" character varying(255) NOT NULL,
- "webdb_create" timestamp NOT NULL
+ "id" integer DEFAULT nextval('breaking_id_seq'::text) NOT NULL,
+ "text" character varying(255) NOT NULL,
+ "webdb_create" timestamp with time zone NOT NULL
);
+
+--
+-- messages
+--
+
+CREATE SEQUENCE "messages_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ;
+
CREATE TABLE "messages" (
- "id" int4 DEFAULT nextval('messages_id_seq'::text) NOT NULL,
- "title" character varying(30),
- "description" character varying(255) NOT NULL,
- "creator" character varying(30) NOT NULL,
- "webdb_create" timestamp NOT NULL
-);
-CREATE TABLE "videos" (
- "video_data" oid,
- "to_video_type" int2 DEFAULT '0' NOT NULL
-)
-inherits ("media");
-CREATE FUNCTION "plpgsql_call_handler" ( ) RETURNS opaque AS '/usr/lib/postgresql/lib/plpgsql.so' LANGUAGE 'C';
-CREATE TRUSTED PROCEDURAL LANGUAGE 'plpgsql' HANDLER "plpgsql_call_handler" LANCOMPILER 'PL/pgSQL';
-CREATE INDEX "idx_comment_to_media" on "comment" using btree ( "to_media" "int4_ops" );
-CREATE INDEX "idx_content_to_article_type" on "content" using btree ( "to_article_type" "int2_ops" );
-CREATE INDEX "idx_content_is_produced" on "content" using btree ( "is_produced" "bool_ops" );
-CREATE INDEX "idx_content_is_published__to_ar" on "content" using btree ( "is_published" "bool_ops", "to_article_type" "int2_ops" );
-CREATE INDEX "idx_webdb_user_log_pas_is_admin" on "webdb_users" using btree ( "login" "varchar_ops", "password" "varchar_ops", "is_admin" "bool_ops" );
-CREATE INDEX "idx_content_is_stored" on "content" using btree ( "is_stored" "bool_ops" );
-CREATE INDEX "idx_content_is_published__id" on "content" using btree ( "is_published" "bool_ops", "id" "int4_ops" );
-CREATE UNIQUE INDEX "idx_content" on "content_x_topic" using btree ( "content_id" "int4_ops", "topic_id" "int4_ops" );
-CREATE INDEX "idx_webdb_user_log_pas" on "webdb_users" using btree ( "login" "varchar_ops", "password" "varchar_ops" );
-CREATE UNIQUE INDEX "idx_topic" on "content_x_topic" using btree ( "topic_id" "int4_ops", "content_id" "int4_ops" );
-CREATE INDEX "idx_topic_title" on "topic" using btree ( "title" "varchar_ops" );
-CREATE INDEX "idx_images_is_published__icon_i" on "images" using btree ( "is_published" "bool_ops", "icon_is_produced" "bool_ops" );
-CREATE INDEX "idx_content_is_pub__to_art__to_" on "content" using btree ( "is_published" "bool_ops", "to_article_type" "int2_ops", "id" "int4_ops" );
-CREATE UNIQUE INDEX "idx_images_id" on "images" using btree ( "id" "int4_ops" );
-CREATE UNIQUE INDEX "idx_content_id" on "content" using btree ( "id" "int4_ops" );
-CREATE UNIQUE INDEX "idx_topic_id" on "topic" using btree ( "id" "int4_ops" );
+ "id" integer DEFAULT nextval('messages_id_seq'::text) NOT NULL,
+ "title" character varying(30),
+ "description" character varying(255) NOT NULL,
+ "creator" character varying(30) NOT NULL,
+ "webdb_create" timestamp with time zone NOT NULL
+);
+
+
+--
+-- filter
+--
+
+CREATE SEQUENCE "filter_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ;
+
+CREATE TABLE "filter" (
+ "id" integer DEFAULT nextval('filter_id_seq'::text) NOT NULL,
+ "priority" integer,
+ "filter_group_id" integer,
+ "type" character varying(255) NOT NULL,
+ "expression" character varying(255) NOT NULL,
+ "tag" character varying(255) NOT NULL,
+ "comment" text,
+ "articleaction" character varying(255) NOT NULL,
+ "commentaction" character varying(255) NOT NULL,
+ "last_hit" timestamp with time zone
+);
+
+--
+-- filter_group
+--
+
+CREATE SEQUENCE "filter_group_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ;
+
+CREATE TABLE "filter_group" (
+ "id" integer DEFAULT nextval('filter_group_id_seq'::text) NOT NULL,
+ "name" character varying(255),
+ "priority" integer
+);
+
+--
+-- db_patches
+--
+
+CREATE SEQUENCE "db_patches_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ;
+
+CREATE TABLE "db_patches" (
+ "id" integer DEFAULT nextval('db_patches_id_seq'::text) NOT NULL,
+ "date" date NOT NULL,
+ "description" text
+);
+
+--
+-- model_version
+--
+
+CREATE TABLE "model_version" (
+ "description" character varying(24)
+);
+