db/db-schema.sql
author Tomas Zeman <tzeman@volny.cz>
Thu, 12 Apr 2012 17:07:35 +0200
changeset 56 9409e7ab3f9d
parent 36 5ae643e27ef9
child 61 b65843860274
permissions -rw-r--r--
User record, mixins
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
36
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     1
-- table declarations :
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     2
create table "code_list_item" (
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     3
    "l3" bigint not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     4
    "l1" bigint not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     5
    "i18n" boolean not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     6
    "name" varchar(100) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     7
    "ol2" bigint,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     8
    "s3" varchar(200) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     9
    "id" bigint primary key not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    10
    "oi1" integer,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    11
    "rank" integer not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    12
    "code_list" varchar(40) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    13
    "dflt" boolean not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    14
    "s2" varchar(200) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    15
    "i3" integer not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    16
    "os1" varchar(200),
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    17
    "ol1" bigint,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    18
    "oi2" integer,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    19
    "i1" integer not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    20
    "s1" varchar(200) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    21
    "note" varchar(10240),
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    22
    "os2" varchar(200),
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    23
    "i2" integer not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    24
    "oi3" integer,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    25
    "l2" bigint not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    26
    "ol3" bigint,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    27
    "os3" varchar(200),
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    28
    "deleted" boolean not null
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    29
  );
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    30
create sequence "code_list_item_id_seq";
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    31
-- indexes on code_list_item
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    32
create index "code_list_item_code_list_idx" on "code_list_item" ("code_list");
56
9409e7ab3f9d User record, mixins
Tomas Zeman <tzeman@volny.cz>
parents: 36
diff changeset
    33
create table "user" (
9409e7ab3f9d User record, mixins
Tomas Zeman <tzeman@volny.cz>
parents: 36
diff changeset
    34
    "name" varchar(100) not null,
9409e7ab3f9d User record, mixins
Tomas Zeman <tzeman@volny.cz>
parents: 36
diff changeset
    35
    "id" bigint primary key not null,
9409e7ab3f9d User record, mixins
Tomas Zeman <tzeman@volny.cz>
parents: 36
diff changeset
    36
    "note" varchar(10240),
9409e7ab3f9d User record, mixins
Tomas Zeman <tzeman@volny.cz>
parents: 36
diff changeset
    37
    "login" varchar(40) not null,
9409e7ab3f9d User record, mixins
Tomas Zeman <tzeman@volny.cz>
parents: 36
diff changeset
    38
    "deleted" boolean not null,
9409e7ab3f9d User record, mixins
Tomas Zeman <tzeman@volny.cz>
parents: 36
diff changeset
    39
    "active" boolean not null,
9409e7ab3f9d User record, mixins
Tomas Zeman <tzeman@volny.cz>
parents: 36
diff changeset
    40
    "password" varchar(128) not null
9409e7ab3f9d User record, mixins
Tomas Zeman <tzeman@volny.cz>
parents: 36
diff changeset
    41
  );
9409e7ab3f9d User record, mixins
Tomas Zeman <tzeman@volny.cz>
parents: 36
diff changeset
    42
create sequence "user_id_seq";
9409e7ab3f9d User record, mixins
Tomas Zeman <tzeman@volny.cz>
parents: 36
diff changeset
    43
-- indexes on user
9409e7ab3f9d User record, mixins
Tomas Zeman <tzeman@volny.cz>
parents: 36
diff changeset
    44
create index "user_login_idx" on "user" ("login");
36
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    45
create table "city" (
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    46
    "name" varchar(100) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    47
    "id" bigint primary key not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    48
    "country_id" bigint not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    49
    "note" varchar(10240)
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    50
  );
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    51
create sequence "s_city_id";
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    52
create table "address" (
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    53
    "id" bigint primary key not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    54
    "city_id" bigint not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    55
    "zip_code" varchar(100) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    56
    "street_name" varchar(100) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    57
    "street_num" varchar(100) not null
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    58
  );
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    59
create sequence "s_address_id";
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    60
create table "country" (
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    61
    "iso3" varchar(3) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    62
    "name" varchar(100) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    63
    "id" bigint primary key not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    64
    "iso2" varchar(2) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    65
    "note" varchar(10240)
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    66
  );
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    67
create sequence "s_country_id";
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    68
create table "contact" (
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    69
    "name" varchar(100) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    70
    "id" bigint primary key not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    71
    "work_mobile" varchar(40) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    72
    "private_mail" varchar(256),
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    73
    "last_name" varchar(80) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    74
    "work_mail" varchar(256) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    75
    "first_name" varchar(80) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    76
    "fax" varchar(40),
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    77
    "note" varchar(10240),
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    78
    "other_mail" varchar(256),
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    79
    "position" varchar(40),
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    80
    "other_mobile" varchar(40),
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    81
    "private_mobile" varchar(40),
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    82
    "private_phone" varchar(40),
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    83
    "work_phone" varchar(40)
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    84
  );
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    85
create sequence "contact_id_seq";
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    86
create table "company" (
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    87
    "name" varchar(100) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    88
    "id" bigint primary key not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    89
    "partner" integer not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    90
    "ico" varchar(40) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    91
    "note" varchar(10240),
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    92
    "corresp_address_id" bigint,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    93
    "pin" integer not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    94
    "address_id" bigint not null
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    95
  );
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    96
create sequence "s_company_id";
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    97
create table "bank_account" (
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    98
    "number" bigint not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    99
    "id" bigint primary key not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   100
    "prefix" bigint not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   101
    "bank_code" varchar(100) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   102
    "company_id" bigint not null
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   103
  );
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   104
create sequence "s_bank_account_id";
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   105
-- foreign key constraints :
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   106
alter table "address" add constraint "addressFK1" foreign key ("city_id") references "city"("id");
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   107
alter table "city" add constraint "cityFK2" foreign key ("country_id") references "country"("id");
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   108
alter table "company" add constraint "companyFK3" foreign key ("address_id") references "address"("id");
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   109
alter table "company" add constraint "companyFK4" foreign key ("corresp_address_id") references "address"("id");
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   110
alter table "bank_account" add constraint "bank_accountFK5" foreign key ("company_id") references "company"("id");
56
9409e7ab3f9d User record, mixins
Tomas Zeman <tzeman@volny.cz>
parents: 36
diff changeset
   111
-- column group indexes :
9409e7ab3f9d User record, mixins
Tomas Zeman <tzeman@volny.cz>
parents: 36
diff changeset
   112
create index "user_deleted_active_idx" on "user" ("deleted","active");