init
This commit is contained in:
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
/target
|
||||||
75
.rustfmt.toml
Normal file
75
.rustfmt.toml
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
max_width = 70
|
||||||
|
hard_tabs = false
|
||||||
|
tab_spaces = 4
|
||||||
|
newline_style = "Auto"
|
||||||
|
indent_style = "Block"
|
||||||
|
use_small_heuristics = "Default"
|
||||||
|
fn_call_width = 40
|
||||||
|
attr_fn_like_width = 40
|
||||||
|
struct_lit_width = 18
|
||||||
|
struct_variant_width = 35
|
||||||
|
array_width = 40
|
||||||
|
chain_width = 40
|
||||||
|
single_line_if_else_max_width = 50
|
||||||
|
wrap_comments = true
|
||||||
|
format_code_in_doc_comments = true
|
||||||
|
comment_width = 70
|
||||||
|
normalize_comments = false
|
||||||
|
normalize_doc_attributes = false
|
||||||
|
license_template_path = ""
|
||||||
|
format_strings = true
|
||||||
|
format_macro_matchers = false
|
||||||
|
format_macro_bodies = true
|
||||||
|
empty_item_single_line = true
|
||||||
|
struct_lit_single_line = true
|
||||||
|
fn_single_line = false
|
||||||
|
where_single_line = false
|
||||||
|
imports_indent = "Block"
|
||||||
|
imports_layout = "Vertical"
|
||||||
|
imports_granularity = "Crate"
|
||||||
|
group_imports = "Preserve"
|
||||||
|
reorder_imports = true
|
||||||
|
reorder_modules = true
|
||||||
|
reorder_impl_items = false
|
||||||
|
type_punctuation_density = "Wide"
|
||||||
|
space_before_colon = false
|
||||||
|
space_after_colon = true
|
||||||
|
spaces_around_ranges = false
|
||||||
|
binop_separator = "Back"
|
||||||
|
remove_nested_parens = true
|
||||||
|
combine_control_expr = false
|
||||||
|
overflow_delimited_expr = false
|
||||||
|
struct_field_align_threshold = 0
|
||||||
|
enum_discrim_align_threshold = 0
|
||||||
|
match_arm_blocks = true
|
||||||
|
match_arm_leading_pipes = "Never"
|
||||||
|
force_multiline_blocks = true
|
||||||
|
fn_args_layout = "Vertical"
|
||||||
|
brace_style = "PreferSameLine"
|
||||||
|
control_brace_style = "ClosingNextLine"
|
||||||
|
trailing_semicolon = true
|
||||||
|
trailing_comma = "Vertical"
|
||||||
|
match_block_trailing_comma = true
|
||||||
|
blank_lines_upper_bound = 1
|
||||||
|
blank_lines_lower_bound = 0
|
||||||
|
edition = "2018"
|
||||||
|
version = "One"
|
||||||
|
inline_attribute_width = 0
|
||||||
|
merge_derives = false
|
||||||
|
use_try_shorthand = false
|
||||||
|
use_field_init_shorthand = false
|
||||||
|
force_explicit_abi = true
|
||||||
|
condense_wildcard_suffixes = false
|
||||||
|
color = "Auto"
|
||||||
|
required_version = "1.4.37"
|
||||||
|
unstable_features = false
|
||||||
|
disable_all_formatting = false
|
||||||
|
skip_children = false
|
||||||
|
hide_parse_errors = false
|
||||||
|
error_on_line_overflow = false
|
||||||
|
error_on_unformatted = false
|
||||||
|
report_todo = "Never"
|
||||||
|
report_fixme = "Never"
|
||||||
|
ignore = []
|
||||||
|
emit_mode = "Files"
|
||||||
|
make_backup = false
|
||||||
8
Cargo.toml
Normal file
8
Cargo.toml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
[package]
|
||||||
|
name = "test-sqlx"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
22
Makefile
Normal file
22
Makefile
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
|
||||||
|
all:
|
||||||
|
make clean
|
||||||
|
make build
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -rf target
|
||||||
|
|
||||||
|
build:
|
||||||
|
cargo build
|
||||||
|
|
||||||
|
test:
|
||||||
|
cargo test
|
||||||
|
|
||||||
|
up:
|
||||||
|
docker-compose up -d
|
||||||
|
|
||||||
|
down:
|
||||||
|
docker-compose down
|
||||||
|
|
||||||
|
run:
|
||||||
|
cargo run
|
||||||
28
db/postgres/init.sql
Normal file
28
db/postgres/init.sql
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
-- a single table is used for all events in the cqrs system
|
||||||
|
CREATE TABLE events
|
||||||
|
(
|
||||||
|
aggregate_type text NOT NULL,
|
||||||
|
aggregate_id text NOT NULL,
|
||||||
|
sequence bigint CHECK (sequence >= 0) NOT NULL,
|
||||||
|
payload jsonb NOT NULL,
|
||||||
|
metadata jsonb NOT NULL,
|
||||||
|
timestamp timestamp with time zone DEFAULT (CURRENT_TIMESTAMP),
|
||||||
|
PRIMARY KEY (aggregate_type, aggregate_id, sequence)
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE
|
||||||
|
USER
|
||||||
|
demo_user
|
||||||
|
WITH
|
||||||
|
NOCREATEDB
|
||||||
|
ENCRYPTED PASSWORD
|
||||||
|
'demo_pass';
|
||||||
|
|
||||||
|
GRANT
|
||||||
|
ALL PRIVILEGES
|
||||||
|
ON TABLE
|
||||||
|
events,
|
||||||
|
snapshots,
|
||||||
|
queries
|
||||||
|
TO
|
||||||
|
demo_user;
|
||||||
25
docker-compose.yml
Normal file
25
docker-compose.yml
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
version: "3.4"
|
||||||
|
|
||||||
|
services:
|
||||||
|
db:
|
||||||
|
image: postgres
|
||||||
|
volumes:
|
||||||
|
- "./db:/docker-entrypoint-initdb.d"
|
||||||
|
networks:
|
||||||
|
- default
|
||||||
|
ports:
|
||||||
|
- "5433:5432"
|
||||||
|
environment:
|
||||||
|
- "POSTGRES_DB=demo"
|
||||||
|
- "POSTGRES_USER=admin"
|
||||||
|
- "POSTGRES_PASSWORD=admin_pass"
|
||||||
|
|
||||||
|
ui:
|
||||||
|
image: adminer
|
||||||
|
restart: always
|
||||||
|
networks:
|
||||||
|
- default
|
||||||
|
ports:
|
||||||
|
- "8081:8080"
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
3
src/main.rs
Normal file
3
src/main.rs
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
fn main() {
|
||||||
|
println!("Hello, world!");
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user