]> git.openstreetmap.org Git - rails.git/blob - vendor/gems/composite_primary_keys-1.1.0/test/fixtures/db_definitions/postgresql.sql
Patch composite_primary_keys to work around issue when one component of
[rails.git] / vendor / gems / composite_primary_keys-1.1.0 / test / fixtures / db_definitions / postgresql.sql
1 create sequence public.reference_types_seq start 1000;
2
3 create table reference_types (
4     reference_type_id int         default nextval('public.reference_types_seq'),
5     type_label        varchar(50) default null,
6     abbreviation      varchar(50) default null,
7     description       varchar(50) default null,
8     primary key (reference_type_id)
9 );
10
11 create table reference_codes (
12     reference_type_id int,
13     reference_code    int         not null,
14     code_label        varchar(50) default null,
15     abbreviation      varchar(50) default null,
16     description       varchar(50) default null
17 );
18
19 create sequence public.products_seq start 1000;
20
21 create table products (
22     id   int         not null default nextval('public.products_seq'),
23     name varchar(50) default null,
24     primary key (id)
25 );
26
27 create table tariffs (
28     tariff_id  int  not null,
29     start_date date not null,
30     amount     int  default null,
31     primary key (tariff_id, start_date)
32 );
33
34 create table product_tariffs (
35     product_id        int  not null,
36     tariff_id         int  not null,
37     tariff_start_date date not null,
38     primary key (product_id, tariff_id, tariff_start_date)
39 );
40
41 create table suburbs (
42     city_id   int         not null,
43     suburb_id int         not null,
44     name      varchar(50) not null,
45     primary key (city_id, suburb_id)
46 );
47
48 create sequence public.streets_seq start 1000;
49
50 create table streets (
51     id        int         not null default nextval('public.streets_seq'),
52     city_id   int         not null,
53     suburb_id int         not null,
54     name      varchar(50) not null,
55     primary key (id)
56 );
57
58 create sequence public.users_seq start 1000;
59
60 create table users (
61     id   int         not null default nextval('public.users_seq'),
62     name varchar(50) not null,
63     primary key (id)
64 );
65
66 create sequence public.articles_seq start 1000;
67
68 create table articles (
69     id   int         not null default nextval('public.articles_seq'),
70     name varchar(50) not null,
71     primary key (id)
72 );
73
74 create sequence public.readings_seq start 1000;
75
76 create table readings (
77     id         int not null default nextval('public.readings_seq'),
78     user_id    int not null,
79     article_id int not null,
80     rating     int not null,
81     primary key (id)
82 );
83
84 create sequence public.groups_seq start 1000;
85
86 create table groups (
87     id   int         not null default nextval('public.groups_seq'),
88     name varchar(50) not null,
89     primary key (id)
90 );
91
92 create table memberships (
93     user_id  int not null,
94     group_id int not null,
95     primary key (user_id, group_id)
96 );
97
98 create sequence public.membership_statuses_seq start 1000;
99
100 create table membership_statuses (
101     id       int         not null default nextval('public.membership_statuses_seq'),
102     user_id  int         not null,
103     group_id int         not null,
104     status   varchar(50) not null,
105     primary key (id)
106 );
107
108 create table departments (
109     department_id int not null,
110     location_id   int not null,
111     primary key (department_id, location_id)
112 );
113
114 create sequence public.employees_seq start 1000;
115
116 create table employees (
117     id            int not null default nextval('public.employees_seq'),
118     department_id int default null,
119     location_id   int default null,
120     primary key (id)
121 );
122
123 create sequence public.comments_seq start 1000;
124
125 create table comments (
126     id          int          not null default nextval('public.comments_seq'),
127     person_id   varchar(100) default null,
128     person_type varchar(100) default null,
129     hack_id     varchar(100) default null,
130     primary key (id)
131 );
132
133 create table hacks (
134     name varchar(50) not null,
135     primary key (name)
136 );
137
138 create table kitchen_sinks (
139     id_1   int not null,
140     id_2   int not null,
141     a_date date,
142     a_string varchar(100),
143     primary key (id_1, id_2)
144 );
145
146 create table restaurants (
147     franchise_id int not null,
148     store_id     int not null,
149     name         varchar(100),
150     primary key (franchise_id, store_id)
151 );
152
153 create table restaurants_suburbs (
154     franchise_id int not null,
155     store_id     int not null,
156     city_id      int not null,
157     suburb_id    int not null
158 );
159
160 create sequence public.dorms_seq start 1000;
161
162 create table dorms (
163     id int not null default nextval('public.dorms_seq'),
164     primary key (id)
165 );
166
167 create table rooms (
168     dorm_id int not null,
169     room_id int not null,
170     primary key (dorm_id, room_id)
171 );
172
173 create sequence public.room_attributes_seq start 1000;
174
175 create table room_attributes (
176     id   int not null default nextval('public.room_attributes_seq'),
177     name varchar(50),
178     primary key (id)
179 );
180
181 create table room_attribute_assignments (
182     dorm_id           int not null,
183     room_id           int not null,
184     room_attribute_id int not null
185 );
186
187 create sequence public.students_seq start 1000;
188
189 create table students (
190     id int not null default nextval('public.students_seq'),
191     primary key (id)
192 );
193
194 create table room_assignments (
195     student_id int not null,
196     dorm_id    int not null,
197     room_id    int not null
198 );
199