All checks were successful
Frontend CI / build (push) Successful in 1m26s
### Description #### Backend - String and interger can be pass as `id` to `GET` `/post/{id}` - For the posts existed, the default `semantic_id` for them will be `_id`. (e.g. `_1`, `_2`) - Semantic ID should follow the rules: 1. It shouldn't be an integer 1. It should match the pattern: `^[0-9a-zA-Z_\-]+$` <br> |Semantic ID|Result|Note| |-|-|-| |12|X|against with `i`| |-3|X|against with `i`| |3.14|X|against with `ii`| |hello world|X|against with `ii`| |*EMPTY*|X|against with `ii`| |12_34-56|O|| #### Frontend - The href of post preview card becomes the semantic ID. ### Package Changes ```toml regex = "1.12.1" ``` ### Screenshots  ### Reference Resolves #125. ### Checklist - [x] A milestone is set - [x] The related issuse has been linked to this branch Reviewed-on: #134 Co-authored-by: SquidSpirit <squid@squidspirit.com> Co-committed-by: SquidSpirit <squid@squidspirit.com>
8 lines
327 B
SQL
8 lines
327 B
SQL
ALTER TABLE post ADD COLUMN "semantic_id" VARCHAR(100) NOT NULL DEFAULT '';
|
|
|
|
-- Update existing records to use their id as semantic_id with _id prefix
|
|
UPDATE post SET semantic_id = '_' || id::VARCHAR WHERE semantic_id = '';
|
|
|
|
-- Create unique index on semantic_id
|
|
CREATE UNIQUE INDEX idx_post_semantic_id ON post (semantic_id);
|