Compare commits
3 commits
743080395b
...
8ee67addb6
Author | SHA1 | Date | |
---|---|---|---|
8ee67addb6 | |||
2542c98fe4 | |||
6e4f492069 |
3 changed files with 17 additions and 15 deletions
6
.tci
6
.tci
|
@ -1,18 +1,18 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
echo "building release binary"
|
echo "building release binary"
|
||||||
cargo build --release --all-features -j 1 # limit memory usage
|
cargo build --release --all-features
|
||||||
echo "stopping service"
|
echo "stopping service"
|
||||||
systemctl --user stop upub
|
systemctl --user stop upub
|
||||||
echo "installing new binary"
|
echo "installing new binary"
|
||||||
cp ./target/release/upub /opt/bin/upub
|
cp ./target/release/upub /opt/bin/upub
|
||||||
echo "migrating database"
|
echo "migrating database"
|
||||||
/opt/bin/upub --db "sqlite:///srv/tci/upub.db" --domain https://upub.alemi.dev migrate
|
/opt/bin/upub -c /srv/tci/upub.toml --domain https://upub.alemi.dev migrate
|
||||||
echo "restarting service"
|
echo "restarting service"
|
||||||
systemctl --user start upub
|
systemctl --user start upub
|
||||||
echo "rebuilding frontend"
|
echo "rebuilding frontend"
|
||||||
cd web
|
cd web
|
||||||
CARGO_BUILD_JOBS=1 /opt/bin/trunk build --release --public-url 'https://upub.alemi.dev/web'
|
/opt/bin/trunk build --release --public-url 'https://upub.alemi.dev/web'
|
||||||
echo "deploying frontend"
|
echo "deploying frontend"
|
||||||
rm /srv/http/upub/web/*
|
rm /srv/http/upub/web/*
|
||||||
mv ./dist/* /srv/http/upub/web/
|
mv ./dist/* /srv/http/upub/web/
|
||||||
|
|
|
@ -40,19 +40,19 @@ pub struct DatasourceConfig {
|
||||||
#[serde_inline_default("sqlite://./upub.db".into())]
|
#[serde_inline_default("sqlite://./upub.db".into())]
|
||||||
pub connection_string: String,
|
pub connection_string: String,
|
||||||
|
|
||||||
#[serde_inline_default(4)]
|
#[serde_inline_default(32)]
|
||||||
pub max_connections: u32,
|
pub max_connections: u32,
|
||||||
|
|
||||||
#[serde_inline_default(1)]
|
#[serde_inline_default(1)]
|
||||||
pub min_connections: u32,
|
pub min_connections: u32,
|
||||||
|
|
||||||
#[serde_inline_default(300u64)]
|
#[serde_inline_default(90u64)]
|
||||||
pub connect_timeout_seconds: u64,
|
pub connect_timeout_seconds: u64,
|
||||||
|
|
||||||
#[serde_inline_default(300u64)]
|
#[serde_inline_default(30u64)]
|
||||||
pub acquire_timeout_seconds: u64,
|
pub acquire_timeout_seconds: u64,
|
||||||
|
|
||||||
#[serde_inline_default(1u64)]
|
#[serde_inline_default(10u64)]
|
||||||
pub slow_query_warn_seconds: u64,
|
pub slow_query_warn_seconds: u64,
|
||||||
|
|
||||||
#[serde_inline_default(true)]
|
#[serde_inline_default(true)]
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
use apb::{ActivityMut, ObjectMut};
|
use apb::{ActivityMut, ObjectMut};
|
||||||
use sea_orm::{sea_query::IntoCondition, ColumnTrait, Condition, ConnectionTrait, DbErr, EntityName, EntityTrait, FromQueryResult, Iden, Iterable, LoaderTrait, ModelTrait, Order, QueryFilter, QueryOrder, QueryResult, QuerySelect, RelationTrait, Select, SelectColumns};
|
use sea_orm::{sea_query::{IntoColumnRef, IntoCondition}, ColumnTrait, Condition, ConnectionTrait, DbErr, EntityName, EntityTrait, FromQueryResult, Iden, Iterable, LoaderTrait, ModelTrait, Order, QueryFilter, QueryOrder, QueryResult, QuerySelect, RelationTrait, Select, SelectColumns};
|
||||||
|
|
||||||
use crate::model;
|
use crate::model;
|
||||||
|
|
||||||
|
@ -8,7 +8,10 @@ pub struct Query;
|
||||||
impl Query {
|
impl Query {
|
||||||
pub fn activities(my_id: Option<i64>) -> Select<model::addressing::Entity> {
|
pub fn activities(my_id: Option<i64>) -> Select<model::addressing::Entity> {
|
||||||
let mut select = model::addressing::Entity::find()
|
let mut select = model::addressing::Entity::find()
|
||||||
.distinct_on([(model::activity::Entity, model::activity::Column::Internal)])
|
.distinct_on([
|
||||||
|
(model::addressing::Entity, model::addressing::Column::Published).into_column_ref(),
|
||||||
|
(model::activity::Entity, model::activity::Column::Internal).into_column_ref(),
|
||||||
|
])
|
||||||
.join(sea_orm::JoinType::InnerJoin, model::addressing::Relation::Activities.def())
|
.join(sea_orm::JoinType::InnerJoin, model::addressing::Relation::Activities.def())
|
||||||
.join(sea_orm::JoinType::LeftJoin, model::addressing::Relation::Objects.def())
|
.join(sea_orm::JoinType::LeftJoin, model::addressing::Relation::Objects.def())
|
||||||
.filter(
|
.filter(
|
||||||
|
@ -17,8 +20,8 @@ impl Query {
|
||||||
.add(model::activity::Column::Id.is_not_null())
|
.add(model::activity::Column::Id.is_not_null())
|
||||||
.add(model::object::Column::Id.is_not_null())
|
.add(model::object::Column::Id.is_not_null())
|
||||||
)
|
)
|
||||||
.order_by(model::activity::Column::Internal, Order::Desc)
|
|
||||||
.order_by(model::addressing::Column::Published, Order::Desc)
|
.order_by(model::addressing::Column::Published, Order::Desc)
|
||||||
|
.order_by(model::activity::Column::Internal, Order::Desc)
|
||||||
.select_only();
|
.select_only();
|
||||||
|
|
||||||
for col in model::activity::Column::iter() {
|
for col in model::activity::Column::iter() {
|
||||||
|
@ -44,11 +47,10 @@ impl Query {
|
||||||
|
|
||||||
pub fn objects(my_id: Option<i64>) -> Select<model::addressing::Entity> {
|
pub fn objects(my_id: Option<i64>) -> Select<model::addressing::Entity> {
|
||||||
let mut select = model::addressing::Entity::find()
|
let mut select = model::addressing::Entity::find()
|
||||||
// .distinct_on([
|
.distinct_on([
|
||||||
// (model::object::Entity, model::object::Column::Internal).into_column_ref(),
|
(model::addressing::Entity, model::addressing::Column::Published).into_column_ref(),
|
||||||
// (model::addressing::Entity, model::addressing::Column::Published).into_column_ref(),
|
(model::object::Entity, model::object::Column::Internal).into_column_ref(),
|
||||||
// ])
|
])
|
||||||
.distinct()
|
|
||||||
.join(sea_orm::JoinType::InnerJoin, model::addressing::Relation::Objects.def())
|
.join(sea_orm::JoinType::InnerJoin, model::addressing::Relation::Objects.def())
|
||||||
.order_by(model::addressing::Column::Published, Order::Desc)
|
.order_by(model::addressing::Column::Published, Order::Desc)
|
||||||
.order_by(model::object::Column::Internal, Order::Desc)
|
.order_by(model::object::Column::Internal, Order::Desc)
|
||||||
|
|
Loading…
Reference in a new issue