Changeset 420 in code


Ignore:
Timestamp:
Oct 24, 2020, 12:52:55 PM (5 years ago)
Author:
contact
Message:

Add id column to User table

We used rowid before, but an explicit ID column is cleaner.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/db.go

    r416 r420  
    6262const schema = `
    6363CREATE TABLE User (
    64         username VARCHAR(255) PRIMARY KEY,
    65         password VARCHAR(255) NOT NULL,
     64        id INTEGER PRIMARY KEY,
     65        username VARCHAR(255) NOT NULL UNIQUE,
     66        password VARCHAR(255),
    6667        admin INTEGER NOT NULL DEFAULT 0
    6768);
     
    104105        "ALTER TABLE Network ADD COLUMN sasl_external_key BLOB DEFAULT NULL",
    105106        "ALTER TABLE User ADD COLUMN admin INTEGER NOT NULL DEFAULT 0",
     107        `
     108                CREATE TABLE UserNew (
     109                        id INTEGER PRIMARY KEY,
     110                        username VARCHAR(255) NOT NULL UNIQUE,
     111                        password VARCHAR(255),
     112                        admin INTEGER NOT NULL DEFAULT 0
     113                );
     114                INSERT INTO UserNew SELECT rowid, username, password, admin FROM User;
     115                DROP TABLE User;
     116                ALTER TABLE UserNew RENAME TO User;
     117        `,
    106118}
    107119
     
    191203        defer db.lock.RUnlock()
    192204
    193         rows, err := db.db.Query("SELECT rowid, username, password, admin FROM User")
     205        rows, err := db.db.Query("SELECT id, username, password, admin FROM User")
    194206        if err != nil {
    195207                return nil, err
     
    221233
    222234        var password *string
    223         row := db.db.QueryRow("SELECT rowid, password, admin FROM User WHERE username = ?", username)
     235        row := db.db.QueryRow("SELECT id, password, admin FROM User WHERE username = ?", username)
    224236        if err := row.Scan(&user.ID, &password, &user.Admin); err != nil {
    225237                return nil, err
Note: See TracChangeset for help on using the changeset viewer.