Changeset 815 in code for trunk/db_postgres.go


Ignore:
Timestamp:
Apr 28, 2023, 10:23:47 PM (2 years ago)
Author:
yakumo.izuru
Message:

Support existing Postgres database schemas (if switching from SQLite)
and other minor changes.

Signed-off-by: Izuru Yakumo <yakumo.izuru@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/db_postgres.go

    r804 r815  
    2626
    2727const postgresSchema = `
    28 CREATE TABLE "User" (
     28CREATE TABLE IF NOT EXISTS "User" (
    2929        id SERIAL PRIMARY KEY,
    3030        username VARCHAR(255) NOT NULL UNIQUE,
     
    3636CREATE TYPE sasl_mechanism AS ENUM ('PLAIN', 'EXTERNAL');
    3737
    38 CREATE TABLE "Network" (
     38CREATE TABLE IF NOT EXISTS "Network" (
    3939        id SERIAL PRIMARY KEY,
    4040        name VARCHAR(255),
     
    5656);
    5757
    58 CREATE TABLE "Channel" (
     58CREATE TABLE IF NOT EXISTS "Channel" (
    5959        id SERIAL PRIMARY KEY,
    6060        network INTEGER NOT NULL REFERENCES "Network"(id) ON DELETE CASCADE,
     
    7070);
    7171
    72 CREATE TABLE "DeliveryReceipt" (
     72CREATE TABLE IF NOT EXISTS "DeliveryReceipt" (
    7373        id SERIAL PRIMARY KEY,
    7474        network INTEGER NOT NULL REFERENCES "Network"(id) ON DELETE CASCADE,
     
    7979);
    8080
    81 CREATE TABLE "ReadReceipt" (
     81CREATE TABLE IF NOT EXISTS"ReadReceipt" (
    8282        id SERIAL PRIMARY KEY,
    8383        network INTEGER NOT NULL REFERENCES "Network"(id) ON DELETE CASCADE,
     
    9999        `,
    100100        `
    101                 CREATE TABLE "ReadReceipt" (
     101                CREATE TABLE IF NOT EXISTS "ReadReceipt" (
    102102                        id SERIAL PRIMARY KEY,
    103103                        network INTEGER NOT NULL REFERENCES "Network"(id) ON DELETE CASCADE,
Note: See TracChangeset for help on using the changeset viewer.