db/db-schema.sql
author Tomas Zeman <tzeman@volny.cz>
Fri, 20 Apr 2012 08:26:22 +0200
changeset 61 b65843860274
parent 56 9409e7ab3f9d
child 65 a35a0edf9ddd
permissions -rw-r--r--
Trackable entity: created/updated fields
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,
61
b65843860274 Trackable entity: created/updated fields
Tomas Zeman <tzeman@volny.cz>
parents: 56
diff changeset
     7
    "updated_at" timestamp not null,
36
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     8
    "ol2" bigint,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     9
    "s3" varchar(200) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    10
    "id" bigint primary key not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    11
    "oi1" integer,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    12
    "rank" integer not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    13
    "code_list" varchar(40) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    14
    "dflt" boolean not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    15
    "s2" varchar(200) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    16
    "i3" integer not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    17
    "os1" varchar(200),
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    18
    "ol1" bigint,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    19
    "oi2" integer,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    20
    "i1" integer not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    21
    "s1" varchar(200) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    22
    "note" varchar(10240),
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    23
    "os2" varchar(200),
61
b65843860274 Trackable entity: created/updated fields
Tomas Zeman <tzeman@volny.cz>
parents: 56
diff changeset
    24
    "created_at" timestamp not null,
b65843860274 Trackable entity: created/updated fields
Tomas Zeman <tzeman@volny.cz>
parents: 56
diff changeset
    25
    "created_by" bigint,
36
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    26
    "i2" integer not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    27
    "oi3" integer,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    28
    "l2" bigint not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    29
    "ol3" bigint,
61
b65843860274 Trackable entity: created/updated fields
Tomas Zeman <tzeman@volny.cz>
parents: 56
diff changeset
    30
    "updated_by" bigint,
36
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    31
    "os3" varchar(200),
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    32
    "deleted" boolean not null
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    33
  );
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    34
create sequence "code_list_item_id_seq";
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    35
-- indexes on code_list_item
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    36
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
    37
create table "user" (
9409e7ab3f9d User record, mixins
Tomas Zeman <tzeman@volny.cz>
parents: 36
diff changeset
    38
    "name" varchar(100) not null,
61
b65843860274 Trackable entity: created/updated fields
Tomas Zeman <tzeman@volny.cz>
parents: 56
diff changeset
    39
    "updated_at" timestamp not null,
56
9409e7ab3f9d User record, mixins
Tomas Zeman <tzeman@volny.cz>
parents: 36
diff changeset
    40
    "id" bigint primary key not null,
9409e7ab3f9d User record, mixins
Tomas Zeman <tzeman@volny.cz>
parents: 36
diff changeset
    41
    "note" varchar(10240),
61
b65843860274 Trackable entity: created/updated fields
Tomas Zeman <tzeman@volny.cz>
parents: 56
diff changeset
    42
    "created_at" timestamp not null,
b65843860274 Trackable entity: created/updated fields
Tomas Zeman <tzeman@volny.cz>
parents: 56
diff changeset
    43
    "created_by" bigint,
56
9409e7ab3f9d User record, mixins
Tomas Zeman <tzeman@volny.cz>
parents: 36
diff changeset
    44
    "login" varchar(40) not null,
61
b65843860274 Trackable entity: created/updated fields
Tomas Zeman <tzeman@volny.cz>
parents: 56
diff changeset
    45
    "updated_by" bigint,
56
9409e7ab3f9d User record, mixins
Tomas Zeman <tzeman@volny.cz>
parents: 36
diff changeset
    46
    "deleted" boolean not null,
9409e7ab3f9d User record, mixins
Tomas Zeman <tzeman@volny.cz>
parents: 36
diff changeset
    47
    "active" boolean not null,
9409e7ab3f9d User record, mixins
Tomas Zeman <tzeman@volny.cz>
parents: 36
diff changeset
    48
    "password" varchar(128) not null
9409e7ab3f9d User record, mixins
Tomas Zeman <tzeman@volny.cz>
parents: 36
diff changeset
    49
  );
9409e7ab3f9d User record, mixins
Tomas Zeman <tzeman@volny.cz>
parents: 36
diff changeset
    50
create sequence "user_id_seq";
9409e7ab3f9d User record, mixins
Tomas Zeman <tzeman@volny.cz>
parents: 36
diff changeset
    51
-- indexes on user
9409e7ab3f9d User record, mixins
Tomas Zeman <tzeman@volny.cz>
parents: 36
diff changeset
    52
create index "user_login_idx" on "user" ("login");
36
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    53
create table "city" (
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    54
    "name" varchar(100) not null,
61
b65843860274 Trackable entity: created/updated fields
Tomas Zeman <tzeman@volny.cz>
parents: 56
diff changeset
    55
    "updated_at" timestamp not null,
36
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    56
    "id" bigint primary key not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    57
    "country_id" bigint not null,
61
b65843860274 Trackable entity: created/updated fields
Tomas Zeman <tzeman@volny.cz>
parents: 56
diff changeset
    58
    "note" varchar(10240),
b65843860274 Trackable entity: created/updated fields
Tomas Zeman <tzeman@volny.cz>
parents: 56
diff changeset
    59
    "created_at" timestamp not null,
b65843860274 Trackable entity: created/updated fields
Tomas Zeman <tzeman@volny.cz>
parents: 56
diff changeset
    60
    "created_by" bigint,
b65843860274 Trackable entity: created/updated fields
Tomas Zeman <tzeman@volny.cz>
parents: 56
diff changeset
    61
    "updated_by" bigint
36
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    62
  );
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    63
create sequence "s_city_id";
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    64
create table "address" (
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    65
    "id" bigint primary key not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    66
    "city_id" bigint not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    67
    "zip_code" varchar(100) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    68
    "street_name" varchar(100) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    69
    "street_num" varchar(100) not null
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    70
  );
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    71
create sequence "s_address_id";
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    72
create table "country" (
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    73
    "iso3" varchar(3) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    74
    "name" varchar(100) not null,
61
b65843860274 Trackable entity: created/updated fields
Tomas Zeman <tzeman@volny.cz>
parents: 56
diff changeset
    75
    "updated_at" timestamp not null,
36
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    76
    "id" bigint primary key not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    77
    "iso2" varchar(2) not null,
61
b65843860274 Trackable entity: created/updated fields
Tomas Zeman <tzeman@volny.cz>
parents: 56
diff changeset
    78
    "note" varchar(10240),
b65843860274 Trackable entity: created/updated fields
Tomas Zeman <tzeman@volny.cz>
parents: 56
diff changeset
    79
    "created_at" timestamp not null,
b65843860274 Trackable entity: created/updated fields
Tomas Zeman <tzeman@volny.cz>
parents: 56
diff changeset
    80
    "created_by" bigint,
b65843860274 Trackable entity: created/updated fields
Tomas Zeman <tzeman@volny.cz>
parents: 56
diff changeset
    81
    "updated_by" bigint
36
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    82
  );
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    83
create sequence "s_country_id";
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    84
create table "contact" (
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    85
    "name" varchar(100) not null,
61
b65843860274 Trackable entity: created/updated fields
Tomas Zeman <tzeman@volny.cz>
parents: 56
diff changeset
    86
    "updated_at" timestamp not null,
36
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    87
    "id" bigint primary key not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    88
    "work_mobile" varchar(40) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    89
    "private_mail" varchar(256),
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    90
    "last_name" varchar(80) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    91
    "work_mail" varchar(256) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    92
    "first_name" varchar(80) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    93
    "fax" varchar(40),
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    94
    "note" varchar(10240),
61
b65843860274 Trackable entity: created/updated fields
Tomas Zeman <tzeman@volny.cz>
parents: 56
diff changeset
    95
    "created_at" timestamp not null,
b65843860274 Trackable entity: created/updated fields
Tomas Zeman <tzeman@volny.cz>
parents: 56
diff changeset
    96
    "created_by" bigint,
36
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    97
    "other_mail" varchar(256),
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    98
    "position" varchar(40),
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    99
    "other_mobile" varchar(40),
61
b65843860274 Trackable entity: created/updated fields
Tomas Zeman <tzeman@volny.cz>
parents: 56
diff changeset
   100
    "updated_by" bigint,
36
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   101
    "private_mobile" varchar(40),
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   102
    "private_phone" varchar(40),
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   103
    "work_phone" varchar(40)
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   104
  );
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   105
create sequence "contact_id_seq";
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   106
create table "company" (
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   107
    "name" varchar(100) not null,
61
b65843860274 Trackable entity: created/updated fields
Tomas Zeman <tzeman@volny.cz>
parents: 56
diff changeset
   108
    "updated_at" timestamp not null,
36
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   109
    "id" bigint primary key not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   110
    "partner" integer not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   111
    "ico" varchar(40) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   112
    "note" varchar(10240),
61
b65843860274 Trackable entity: created/updated fields
Tomas Zeman <tzeman@volny.cz>
parents: 56
diff changeset
   113
    "created_at" timestamp not null,
b65843860274 Trackable entity: created/updated fields
Tomas Zeman <tzeman@volny.cz>
parents: 56
diff changeset
   114
    "created_by" bigint,
36
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   115
    "corresp_address_id" bigint,
61
b65843860274 Trackable entity: created/updated fields
Tomas Zeman <tzeman@volny.cz>
parents: 56
diff changeset
   116
    "updated_by" bigint,
36
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   117
    "pin" integer not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   118
    "address_id" bigint not null
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   119
  );
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   120
create sequence "s_company_id";
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   121
create table "bank_account" (
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   122
    "number" bigint not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   123
    "id" bigint primary key not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   124
    "prefix" bigint not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   125
    "bank_code" varchar(100) not null,
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   126
    "company_id" bigint not null
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   127
  );
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   128
create sequence "s_bank_account_id";
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   129
-- foreign key constraints :
5ae643e27ef9 Initial db schema
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
   130
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
   131
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
   132
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
   133
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
   134
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
   135
-- column group indexes :
9409e7ab3f9d User record, mixins
Tomas Zeman <tzeman@volny.cz>
parents: 36
diff changeset
   136
create index "user_deleted_active_idx" on "user" ("deleted","active");