Compare commits

..

No commits in common. "38fe8ba53964d7a56fe8a2016ccc83d54cce1ca1" and "0d53175b5d36b5db47eb84bc6975cf6c5703f8fa" have entirely different histories.

6 changed files with 61 additions and 36 deletions

1
.gitignore vendored
View File

@ -2,4 +2,3 @@
/db.sqlite
.idea/
.DS_Store
certs/

View File

@ -3,27 +3,32 @@ repos:
rev: v4.5.0
hooks:
- id: check-toml
- id: end-of-file-fixer
- id: check-vcs-permalinks
# - id: end-of-file-fixer
- id: fix-byte-order-marker
- id: mixed-line-ending
- id: trailing-whitespace
- repo: local
hooks:
- id: fmt
name: fmt
description: Format
entry: cargo fmt
language: system
args:
- --all
types: [ rust ]
pass_filenames: false
# - repo: https://github.com/tconbeer/sqlfmt
# rev: v0.18.0
# hooks:
# - id: sqlfmt
# language_version: python
- id: check
name: check
description: Check
entry: cargo check
language: system
types: [ rust ]
pass_filenames: false
- repo: https://github.com/sqlfluff/sqlfluff
rev: 3.0.3
hooks:
- id: sqlfluff-lint
- id: sqlfluff-fix
# - repo: https://github.com/pre-commit/mirrors-prettier
# rev: "v3.1.0"
# hooks:
# - id: prettier
# types_or: [ sql ]
# - repo: https://github.com/doublify/pre-commit-rust
# rev: master
# hooks:
# - id: fmt
# args: ['--verbose', '--edition', '2018', '--']

23
.sqlfluff Normal file
View File

@ -0,0 +1,23 @@
[sqlfluff]
dialect = sqlite
# exclude_rules = L016,L031,L034
[sqlfluff:indentation]
tab_space_size = 4
allow_implicit_indents = True
[sqlfluff:rules:capitalisation.keywords]
# Keywords Capitalization
capitalisation_policy = upper
[sqlfluff:rules:capitalisation.functions]
# Function Name Capitalization
extended_capitalisation_policy = upper
[sqlfluff:rules:capitalisation.literals]
# Null & Boolean Literals
capitalisation_policy = upper
[sqlfluff:rules:capitalisation.types]
# Data Type Capitalization
extended_capitalisation_policy = upper

View File

@ -1,29 +1,27 @@
CREATE TABLE users
(
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
CREATE TABLE users (
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
name STRING UNIQUE NOT NULL
);
-- for development only, replace with properly hashed passwords later
CREATE TABLE challenges_plain_password
(
user_id INTEGER PRIMARY KEY NOT NULL,
password STRING NOT NULL
user_id INTEGER PRIMARY KEY NOT NULL,
password STRING NOT NULL
);
CREATE TABLE rooms
(
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
name STRING UNIQUE NOT NULL,
topic STRING NOT NULL,
message_count INTEGER NOT NULL DEFAULT 0
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
name STRING UNIQUE NOT NULL,
topic STRING NOT NULL,
message_count INTEGER NOT NULL DEFAULT 0
);
CREATE TABLE messages
(
CREATE TABLE messages (
room_id INTEGER NOT NULL,
id INTEGER NOT NULL, -- unique per room, sequential in one room
content STRING NOT NULL,
id INTEGER NOT NULL, -- unique per room, sequential in one room
content STRING NOT NULL,
PRIMARY KEY (room_id, id)
);
@ -31,6 +29,6 @@ CREATE TABLE memberships
(
user_id INTEGER NOT NULL,
room_id INTEGER NOT NULL,
status INTEGER NOT NULL, -- 0 for not-joined, 1 for joined, 2 for banned
status INTEGER NOT NULL, -- 0 for not-joined, 1 for joined, 2 for banned
PRIMARY KEY (user_id, room_id)
);

View File

@ -1,2 +1 @@
ALTER TABLE messages
ADD author_id INTEGER NULL REFERENCES users (id);
ALTER TABLE messages ADD author_id INTEGER NULL REFERENCES users (id); -- noqa: PRS

View File

@ -0,0 +1 @@
-- Add migration script here