summaryrefslogtreecommitdiff
path: root/sql/ddl/pgsql.sql
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.eu>2024-02-22 22:59:53 +0100
committerRené 'Necoro' Neumann <necoro@necoro.eu>2024-02-22 23:15:41 +0100
commitcd1a6cbd06d3b75adf708fcd2a7974bf94452248 (patch)
treee41f7bb1cbda499837943fcb5eedfa0f61b2adff /sql/ddl/pgsql.sql
parent9a97638e0ddd7fbc135c63d7e9055529313ddb3c (diff)
downloadgosten-cd1a6cbd06d3b75adf708fcd2a7974bf94452248.tar.gz
gosten-cd1a6cbd06d3b75adf708fcd2a7974bf94452248.tar.bz2
gosten-cd1a6cbd06d3b75adf708fcd2a7974bf94452248.zip
Switch from mysql to postgres
Diffstat (limited to '')
-rw-r--r--sql/ddl/pgsql.sql51
1 files changed, 51 insertions, 0 deletions
diff --git a/sql/ddl/pgsql.sql b/sql/ddl/pgsql.sql
new file mode 100644
index 0000000..18c0661
--- /dev/null
+++ b/sql/ddl/pgsql.sql
@@ -0,0 +1,51 @@
+create table users
+(
+ id serial primary key,
+ name text not null,
+ pwd text not null,
+ description text
+);
+
+create unique index users_name ON users(name);
+
+create table categories
+(
+ id serial primary key,
+ name text not null,
+ parent_id integer references categories,
+ user_id integer not null references users
+);
+
+create index parent_id
+ on categories (parent_id);
+
+create index user_id
+ on categories (user_id);
+
+
+create table const_expenses
+(
+ id serial primary key,
+ description text,
+ expense numeric(10, 2) not null,
+ months smallint not null,
+ start date not null,
+ "end" date not null,
+ prev_id integer references const_expenses,
+ category_id integer not null references categories,
+ user_id integer not null references users
+);
+
+create table single_expenses
+(
+ id bigserial primary key,
+ description text,
+ expense numeric(10, 2) not null,
+ year smallint not null,
+ month smallint not null,
+ day smallint not null,
+ category_id integer not null references categories,
+ user_id integer not null references users
+);
+
+CREATE INDEX idx_single_date ON single_expenses(user_id, year, month); \ No newline at end of file