ZhangZhihui's Blog  

 

zzh@ZZHPC:/zdata/Github/greenlight$ migrate create -seq -ext=.sql -dir=./migrations create_user_table
/zdata/Github/greenlight/migrations/000004_create_user_table.up.sql
/zdata/Github/greenlight/migrations/000004_create_user_table.down.sql

 

CREATE TABLE IF NOT EXISTS user (
    id            bigserial                   PRIMARY KEY,
    created_at    timestamp(0) with time zone NOT NULL DEFAULT NOW(),
    name          text                        NOT NULL,
    email         citext                      UNIQUE NOT NULL,
    password_hash bytea                       NOT NULL,
    activated     bool                        NOT NULL,
    version       integer                     NOT NULL DEFAULT 1
);

 

zzh@ZZHPC:/zdata/Github/greenlight$ make migrate_up
migrate -path ./migrations -database "postgres://greenlight:greenlight@localhost/greenlight?sslmode=disable" up
error: migration failed: syntax error at or near "user" (column 28) in line 1: CREATE TABLE IF NOT EXISTS user (
    id            bigserial                   PRIMARY KEY,
    created_at    timestamp(0) with time zone NOT NULL DEFAULT NOW(),
    name          text                        NOT NULL,
    email         citext                      UNIQUE NOT NULL,
    password_hash bytea                       NOT NULL,
    activated     bool                        NOT NULL,
    version       integer                     NOT NULL DEFAULT 1
); (details: pq: syntax error at or near "user")
make: *** [Makefile:37: migrate_up] Error 1

CANNOT use keyword 'user' as a table name.

 

zzh@ZZHPC:/zdata/Github/greenlight$ migrate -database $GREENLIGHT_DB_DSN -path ./migrations version
4 (dirty)

 

zzh@ZZHPC:/zdata/Github/greenlight$ migrate -path ./migrations -database $GREENLIGHT_DB_DSN force 3
zzh@ZZHPC:/zdata/Github/greenlight$ migrate -path ./migrations -database $GREENLIGHT_DB_DSN version
3

 

Changed the table name from 'user' to 'users' and re-applied the migration.

 

greenlight=# \d users
                                          Table "public.users"
    Column     |            Type             | Collation | Nullable |              Default              
---------------+-----------------------------+-----------+----------+-----------------------------------
 id            | bigint                      |           | not null | nextval('users_id_seq'::regclass)
 created_at    | timestamp(0) with time zone |           | not null | now()
 name          | text                        |           | not null | 
 email         | citext                      |           | not null | 
 password_hash | bytea                       |           | not null | 
 activated     | boolean                     |           | not null | 
 version       | integer                     |           | not null | 1
Indexes:
    "users_pkey" PRIMARY KEY, btree (id)
    "users_email_key" UNIQUE CONSTRAINT, btree (email)

 

 

greenlight=> SELECT id, password_hash FROM users;
 id |                                                       password_hash                                                        
----+----------------------------------------------------------------------------------------------------------------------------
  1 | \x243261243132245a4d783436775466774e41346e764b344a2f794f302e695a72616f794a4b6a787a444a7a4d33475043645358546678743774724132
(1 row)

 

 

greenlight=> SELECT id, encode(password_hash, 'escape') FROM users;
 id |                            encode                            
----+--------------------------------------------------------------
  1 | $2a$12$ZMx46wTfwNA4nvK4J/yO0.iZraoyJKjxzDJzM3GPCdSXTfxt7trA2
(1 row)

 

 

 

posted on 2024-11-19 09:13  ZhangZhihuiAAA  阅读(1)  评论(0编辑  收藏  举报