1
0
mirror of https://git.ngram.ca/OpenJam/rc-servers synced 2026-08-23 23:08:52 +00:00

Use i32 for database IDs since that's support for postgres too

This commit is contained in:
NG (Graham)
2025-06-06 19:03:08 -04:00
parent 22dd57bd84
commit 4914e2057a
20 changed files with 117 additions and 117 deletions

View File

@@ -18,7 +18,7 @@ impl MigrationTrait for Migration {
.table(crate::schema::user::Entity)
.col(
ColumnDef::new(crate::schema::user::Column::Id)
.unsigned()
.integer()
.not_null()
.auto_increment()
.primary_key(),

View File

@@ -18,12 +18,12 @@ impl MigrationTrait for Migration {
.table(crate::schema::permissions::Entity)
.col(
ColumnDef::new(crate::schema::permissions::Column::Id)
.unsigned()
.integer()
.not_null()
.auto_increment()
.primary_key(),
)
.col(ColumnDef::new(crate::schema::permissions::Column::UserId).unsigned().not_null())
.col(ColumnDef::new(crate::schema::permissions::Column::UserId).integer().not_null())
.foreign_key(
ForeignKey::create()
.name("fk-permissions-user_id")

View File

@@ -18,12 +18,12 @@ impl MigrationTrait for Migration {
.table(crate::schema::garage::Entity)
.col(
ColumnDef::new(crate::schema::garage::Column::Id)
.unsigned()
.integer()
.not_null()
.auto_increment()
.primary_key(),
)
.col(ColumnDef::new(crate::schema::garage::Column::UserId).unsigned().not_null())
.col(ColumnDef::new(crate::schema::garage::Column::UserId).integer().not_null())
.foreign_key(
ForeignKey::create()
.name("fk-garage-user_id")
@@ -31,24 +31,24 @@ impl MigrationTrait for Migration {
.to(crate::schema::user::Entity, crate::schema::user::Column::Id),
)
.col(ColumnDef::new(crate::schema::garage::Column::CreationTime).big_integer().not_null())
.col(ColumnDef::new(crate::schema::garage::Column::Slot).unsigned().not_null())
.col(ColumnDef::new(crate::schema::garage::Column::Slot).integer().not_null())
.col(ColumnDef::new(crate::schema::garage::Column::Name).string().not_null())
.col(ColumnDef::new(crate::schema::garage::Column::CrfId).unsigned())
.col(ColumnDef::new(crate::schema::garage::Column::CrfId).integer())
.col(ColumnDef::new(crate::schema::garage::Column::WasRated).boolean().not_null())
.col(ColumnDef::new(crate::schema::garage::Column::MovementCategories).string().not_null())
.col(ColumnDef::new(crate::schema::garage::Column::Uuid).big_integer().not_null())
.col(ColumnDef::new(crate::schema::garage::Column::ThumbnailVersion).unsigned().not_null())
.col(ColumnDef::new(crate::schema::garage::Column::TotalRobotCpu).unsigned().not_null())
.col(ColumnDef::new(crate::schema::garage::Column::TotalCosmeticCpu).unsigned().not_null())
.col(ColumnDef::new(crate::schema::garage::Column::TotalRobotRanking).unsigned().not_null())
.col(ColumnDef::new(crate::schema::garage::Column::BayCpu).unsigned().not_null())
.col(ColumnDef::new(crate::schema::garage::Column::ThumbnailVersion).integer().not_null())
.col(ColumnDef::new(crate::schema::garage::Column::TotalRobotCpu).integer().not_null())
.col(ColumnDef::new(crate::schema::garage::Column::TotalCosmeticCpu).integer().not_null())
.col(ColumnDef::new(crate::schema::garage::Column::TotalRobotRanking).integer().not_null())
.col(ColumnDef::new(crate::schema::garage::Column::BayCpu).integer().not_null())
.col(ColumnDef::new(crate::schema::garage::Column::TutorialRobot).boolean().not_null())
.col(ColumnDef::new(crate::schema::garage::Column::StarterRobotIndex).unsigned())
.col(ColumnDef::new(crate::schema::garage::Column::ControlType).tiny_unsigned().not_null())
.col(ColumnDef::new(crate::schema::garage::Column::StarterRobotIndex).integer())
.col(ColumnDef::new(crate::schema::garage::Column::ControlType).integer().not_null())
.col(ColumnDef::new(crate::schema::garage::Column::VerticalStrafing).boolean().not_null())
.col(ColumnDef::new(crate::schema::garage::Column::SidewaysDriving).boolean().not_null())
.col(ColumnDef::new(crate::schema::garage::Column::TracksTurnOnSpot).boolean().not_null())
.col(ColumnDef::new(crate::schema::garage::Column::MasteryLevel).unsigned().not_null())
.col(ColumnDef::new(crate::schema::garage::Column::MasteryLevel).integer().not_null())
.col(ColumnDef::new(crate::schema::garage::Column::BaySkinId).string().not_null())
.col(ColumnDef::new(crate::schema::garage::Column::WeaponOrder).string().not_null())
.col(ColumnDef::new(crate::schema::garage::Column::RobotData).blob().not_null())

View File

@@ -18,12 +18,12 @@ impl MigrationTrait for Migration {
.table(crate::schema::user_aux::Entity)
.col(
ColumnDef::new(crate::schema::user_aux::Column::Id)
.unsigned()
.integer()
.not_null()
.auto_increment()
.primary_key(),
)
.col(ColumnDef::new(crate::schema::user_aux::Column::UserId).unsigned().not_null())
.col(ColumnDef::new(crate::schema::user_aux::Column::UserId).integer().not_null())
.foreign_key(
ForeignKey::create()
.name("fk-users_aux-user_id")

View File

@@ -18,12 +18,12 @@ impl MigrationTrait for Migration {
.table(crate::schema::campaign::Entity)
.col(
ColumnDef::new(crate::schema::campaign::Column::Id)
.unsigned()
.integer()
.not_null()
.auto_increment()
.primary_key(),
)
.col(ColumnDef::new(crate::schema::campaign::Column::UserId).unsigned().not_null())
.col(ColumnDef::new(crate::schema::campaign::Column::UserId).integer().not_null())
.foreign_key(
ForeignKey::create()
.name("fk-campaign-user_id")
@@ -41,12 +41,12 @@ impl MigrationTrait for Migration {
.table(crate::schema::campaign_difficulty_completion::Entity)
.col(
ColumnDef::new(crate::schema::campaign_difficulty_completion::Column::Id)
.unsigned()
.integer()
.not_null()
.auto_increment()
.primary_key(),
)
.col(ColumnDef::new(crate::schema::campaign_difficulty_completion::Column::CampaignId).unsigned().not_null())
.col(ColumnDef::new(crate::schema::campaign_difficulty_completion::Column::CampaignId).integer().not_null())
.foreign_key(
ForeignKey::create()
.name("fk-campaigns_completion-campaign_id")
@@ -54,8 +54,8 @@ impl MigrationTrait for Migration {
.to(crate::schema::campaign::Entity, crate::schema::campaign::Column::Id),
)
.col(ColumnDef::new(crate::schema::campaign_difficulty_completion::Column::CreationTime).big_integer().not_null())
.col(ColumnDef::new(crate::schema::campaign_difficulty_completion::Column::Level).unsigned().not_null())
.col(ColumnDef::new(crate::schema::campaign_difficulty_completion::Column::Wave).unsigned().not_null())
.col(ColumnDef::new(crate::schema::campaign_difficulty_completion::Column::Level).integer().not_null())
.col(ColumnDef::new(crate::schema::campaign_difficulty_completion::Column::Wave).integer().not_null())
.col(ColumnDef::new(crate::schema::campaign_difficulty_completion::Column::Complete).boolean().not_null())
.to_owned(),
)

View File

@@ -18,12 +18,12 @@ impl MigrationTrait for Migration {
.table(crate::schema::sanction::Entity)
.col(
ColumnDef::new(crate::schema::sanction::Column::Id)
.unsigned()
.integer()
.not_null()
.auto_increment()
.primary_key(),
)
.col(ColumnDef::new(crate::schema::sanction::Column::UserId).unsigned().not_null())
.col(ColumnDef::new(crate::schema::sanction::Column::UserId).integer().not_null())
.foreign_key(
ForeignKey::create()
.name("fk-sanction-user_id")
@@ -31,7 +31,7 @@ impl MigrationTrait for Migration {
.to(crate::schema::user::Entity, crate::schema::user::Column::Id),
)
.col(ColumnDef::new(crate::schema::sanction::Column::CreationTime).big_integer().not_null())
.col(ColumnDef::new(crate::schema::sanction::Column::IssuerId).unsigned().not_null())
.col(ColumnDef::new(crate::schema::sanction::Column::IssuerId).integer().not_null())
.foreign_key(
ForeignKey::create()
.name("fk-sanction-issuer_id")
@@ -43,7 +43,7 @@ impl MigrationTrait for Migration {
.col(ColumnDef::new(crate::schema::sanction::Column::Reason).string().not_null())
.col(ColumnDef::new(crate::schema::sanction::Column::Duration).big_integer())
.col(ColumnDef::new(crate::schema::sanction::Column::Acknowledged).big_integer())
.col(ColumnDef::new(crate::schema::sanction::Column::AppealerId).unsigned())
.col(ColumnDef::new(crate::schema::sanction::Column::AppealerId).integer())
.foreign_key(
ForeignKey::create()
.name("fk-sanction-appealer_id")

View File

@@ -4,8 +4,8 @@ use sea_orm::entity::prelude::*;
#[sea_orm(table_name = "campaigns")]
pub struct Model {
#[sea_orm(primary_key)]
pub id: u32,
pub user_id: u32,
pub id: i32,
pub user_id: i32,
pub creation_time: i64, // seconds since unix epoch
pub campaign_id: String,
}

View File

@@ -4,11 +4,11 @@ use sea_orm::entity::prelude::*;
#[sea_orm(table_name = "campaigns_completion")]
pub struct Model {
#[sea_orm(primary_key)]
pub id: u32,
pub campaign_id: u32,
pub id: i32,
pub campaign_id: i32,
pub creation_time: i64, // seconds since unix epoch
pub level: u32,
pub wave: u32,
pub level: i32,
pub wave: i32,
pub complete: bool,
}

View File

@@ -2,7 +2,7 @@ use sea_orm::FromQueryResult;
#[derive(FromQueryResult)]
pub struct Id {
pub id: u32,
pub id: i32,
}
#[derive(FromQueryResult)]

View File

@@ -4,29 +4,29 @@ use sea_orm::entity::prelude::*;
#[sea_orm(table_name = "garages")]
pub struct Model {
#[sea_orm(primary_key)]
pub id: u32,
pub user_id: u32,
pub id: i32,
pub user_id: i32,
pub creation_time: i64, // seconds since unix epoch
pub slot: u32,
pub slot: i32,
pub name: String,
pub crf_id: Option<u32>,
pub crf_id: Option<i32>,
pub was_rated: bool,
pub movement_categories: String, // csv?
pub uuid: i64,
pub thumbnail_version: u32,
pub total_robot_cpu: u32,
pub total_cosmetic_cpu: u32,
pub total_robot_ranking: u32,
pub bay_cpu: u32,
pub thumbnail_version: i32,
pub total_robot_cpu: i32,
pub total_cosmetic_cpu: i32,
pub total_robot_ranking: i32,
pub bay_cpu: i32,
pub tutorial_robot: bool,
pub starter_robot_index: Option<u32>,
pub starter_robot_index: Option<i32>,
pub control_type: ControlType,
// control options
pub vertical_strafing: bool,
pub sideways_driving: bool,
pub tracks_turn_on_spot: bool,
// end control options
pub mastery_level: u32,
pub mastery_level: i32,
pub bay_skin_id: String,
pub death_animation_id: String,
pub spawn_animation_id: String,
@@ -64,9 +64,9 @@ impl Related<super::user::Entity> for Entity {
impl ActiveModelBehavior for ActiveModel {}
#[repr(u8)]
#[repr(i32)]
#[derive(Clone, Debug, PartialEq, Eq, EnumIter, DeriveActiveEnum)]
#[sea_orm(rs_type = "u8", db_type = "TinyInteger")]
#[sea_orm(rs_type = "i32", db_type = "Integer")]
pub enum ControlType {
Camera = 0,
Keyboard = 1,

View File

@@ -4,8 +4,8 @@ use sea_orm::entity::prelude::*;
#[sea_orm(table_name = "permissions")]
pub struct Model {
#[sea_orm(primary_key)]
pub id: u32,
pub user_id: u32,
pub id: i32,
pub user_id: i32,
pub moderator: bool,
pub administrator: bool,
pub developer: bool,

View File

@@ -4,16 +4,16 @@ use sea_orm::entity::prelude::*;
#[sea_orm(table_name = "sanctions")]
pub struct Model {
#[sea_orm(primary_key)]
pub id: u32,
pub user_id: u32,
pub id: i32,
pub user_id: i32,
pub creation_time: i64, // seconds since unix epoch
pub issuer_id: u32,
pub issuer_id: i32,
pub issuer_name: String,
pub descriptor: Descriptor,
pub reason: String,
pub duration: Option<i64>, // seconds after creation_time (null means permanent or irrelevant)
pub acknowledged: Option<i64>, // seconds since unix epoch
pub appealer_id: Option<u32>, // moderator who approved appeal
pub appealer_id: Option<i32>, // moderator who approved appeal
pub appeal_time: Option<i64>, // seconds since unix epoch
}

View File

@@ -4,7 +4,7 @@ use sea_orm::entity::prelude::*;
#[sea_orm(table_name = "users")]
pub struct Model {
#[sea_orm(primary_key)]
pub id: u32,
pub id: i32,
pub creation_time: i64, // seconds since unix epoch
pub public_id: String,
pub display_name: String,

View File

@@ -4,8 +4,8 @@ use sea_orm::entity::prelude::*;
#[sea_orm(table_name = "users_aux")]
pub struct Model {
#[sea_orm(primary_key)]
pub id: u32,
pub user_id: u32,
pub id: i32,
pub user_id: i32,
pub creation_time: i64, // seconds since unix epoch
pub descriptor: Descriptor,
pub data: String, // usually JSON

View File

@@ -54,14 +54,14 @@ impl Database {
entity.insert(&self.orm).await
}
pub async fn user_aux_by_user_id(&self, user_id: u32) -> Result<Vec<crate::schema::user_aux::Model>, sea_orm::DbErr> {
pub async fn user_aux_by_user_id(&self, user_id: i32) -> Result<Vec<crate::schema::user_aux::Model>, sea_orm::DbErr> {
crate::schema::user_aux::Entity::find()
.filter(crate::schema::user_aux::Column::UserId.eq(user_id))
.all(&self.orm)
.await
}
pub async fn user_aux_by_user_id_and_descriptor(&self, user_id: u32, descriptor: crate::schema::user_aux::Descriptor) -> Result<Option<crate::schema::user_aux::Model>, sea_orm::DbErr> {
pub async fn user_aux_by_user_id_and_descriptor(&self, user_id: i32, descriptor: crate::schema::user_aux::Descriptor) -> Result<Option<crate::schema::user_aux::Model>, sea_orm::DbErr> {
crate::schema::user_aux::Entity::find()
.filter(crate::schema::user_aux::Column::UserId.eq(user_id))
.filter(crate::schema::user_aux::Column::Descriptor.eq(descriptor))
@@ -74,7 +74,7 @@ impl Database {
Ok(())
}
pub async fn update_user_aux_by_user_id_and_descriptor(&self, mut entity: crate::schema::user_aux::ActiveModel, user_id: u32, descriptor: crate::schema::user_aux::Descriptor) -> Result<Option<crate::schema::user_aux::Model>, sea_orm::DbErr> {
pub async fn update_user_aux_by_user_id_and_descriptor(&self, mut entity: crate::schema::user_aux::ActiveModel, user_id: i32, descriptor: crate::schema::user_aux::Descriptor) -> Result<Option<crate::schema::user_aux::Model>, sea_orm::DbErr> {
let id_opt = crate::schema::user_aux::Entity::find()
.select_only()
.column(crate::schema::user_aux::Column::Id)
@@ -94,7 +94,7 @@ impl Database {
}
}
pub async fn perms_by_user_id(&self, user_id: u32) -> Result<Option<crate::schema::permissions::Model>, sea_orm::DbErr> {
pub async fn perms_by_user_id(&self, user_id: i32) -> Result<Option<crate::schema::permissions::Model>, sea_orm::DbErr> {
crate::schema::permissions::Entity::find()
.filter(crate::schema::permissions::Column::UserId.eq(user_id))
.one(&self.orm)
@@ -105,7 +105,7 @@ impl Database {
entity.insert(&self.orm).await
}
pub async fn update_perms_by_user_id(&self, mut entity: crate::schema::permissions::ActiveModel, user_id: u32) -> Result<Option<crate::schema::permissions::Model>, sea_orm::DbErr> {
pub async fn update_perms_by_user_id(&self, mut entity: crate::schema::permissions::ActiveModel, user_id: i32) -> Result<Option<crate::schema::permissions::Model>, sea_orm::DbErr> {
let id_opt = crate::schema::permissions::Entity::find()
.select_only()
.column(crate::schema::permissions::Column::Id)
@@ -123,18 +123,18 @@ impl Database {
}
}
pub async fn garage_max_slot_by_user_id(&self, user_id: u32) -> Result<u32, sea_orm::DbErr> {
pub async fn garage_max_slot_by_user_id(&self, user_id: i32) -> Result<i32, sea_orm::DbErr> {
let result = crate::schema::garage::Entity::find()
.select_only()
.column_as(crate::schema::garage::Column::Slot.max(), "column")
.filter(crate::schema::garage::Column::UserId.eq(user_id))
.into_model::<crate::schema::common_query::SingleColumn<u32>>()
.into_model::<crate::schema::common_query::SingleColumn<i32>>()
.one(&self.orm)
.await?;
Ok(result.map(|x| *x).unwrap_or(0))
}
pub async fn garage_selected(&self, user_id: u32) -> Result<Option<crate::schema::garage::Model>, sea_orm::DbErr> {
pub async fn garage_selected(&self, user_id: i32) -> Result<Option<crate::schema::garage::Model>, sea_orm::DbErr> {
crate::schema::garage::Entity::find()
.filter(crate::schema::garage::Column::UserId.eq(user_id))
.filter(crate::schema::garage::Column::Selected.eq(true))
@@ -142,7 +142,7 @@ impl Database {
.await
}
pub async fn garage_by_user_id_and_slot(&self, user_id: u32, garage_slot: u32) -> Result<Option<crate::schema::garage::Model>, sea_orm::DbErr> {
pub async fn garage_by_user_id_and_slot(&self, user_id: i32, garage_slot: i32) -> Result<Option<crate::schema::garage::Model>, sea_orm::DbErr> {
crate::schema::garage::Entity::find()
.filter(crate::schema::garage::Column::UserId.eq(user_id))
.filter(crate::schema::garage::Column::Slot.eq(garage_slot))
@@ -150,7 +150,7 @@ impl Database {
.await
}
pub async fn garages_by_user_id(&self, user_id: u32) -> Result<Vec<crate::schema::garage::Model>, sea_orm::DbErr> {
pub async fn garages_by_user_id(&self, user_id: i32) -> Result<Vec<crate::schema::garage::Model>, sea_orm::DbErr> {
crate::schema::garage::Entity::find()
.filter(crate::schema::garage::Column::UserId.eq(user_id))
.order_by_asc(crate::schema::garage::Column::Slot)
@@ -165,7 +165,7 @@ impl Database {
.await
}
pub async fn garage_by_id(&self, id: u32) -> Result<Option<crate::schema::garage::Model>, sea_orm::DbErr> {
pub async fn garage_by_id(&self, id: i32) -> Result<Option<crate::schema::garage::Model>, sea_orm::DbErr> {
crate::schema::garage::Entity::find_by_id(id)
.one(&self.orm)
.await
@@ -186,7 +186,7 @@ impl Database {
.await
}
pub async fn update_garage_by_user_id_and_slot(&self, mut entity: crate::schema::garage::ActiveModel, user_id: u32, slot: u32) -> Result<Option<crate::schema::garage::Model>, sea_orm::DbErr> {
pub async fn update_garage_by_user_id_and_slot(&self, mut entity: crate::schema::garage::ActiveModel, user_id: i32, slot: i32) -> Result<Option<crate::schema::garage::Model>, sea_orm::DbErr> {
let id_opt = crate::schema::garage::Entity::find()
.select_only()
.column(crate::schema::garage::Column::Id)
@@ -223,7 +223,7 @@ impl Database {
}
}
pub async fn update_garage_selected_by_user_id_and_slot(&self, user_id: u32, slot: u32) -> Result<(), sea_orm::DbErr> {
pub async fn update_garage_selected_by_user_id_and_slot(&self, user_id: i32, slot: i32) -> Result<(), sea_orm::DbErr> {
self.orm.transaction(|txn| {
Box::pin(async move {
crate::schema::garage::Entity::update_many()
@@ -251,7 +251,7 @@ impl Database {
Ok(())
}
pub async fn count_sanctions_to_ack_by_user_id_and_descriptor(&self, user_id: u32, desc: crate::schema::sanction::Descriptor) -> Result<u64, sea_orm::DbErr> {
pub async fn count_sanctions_to_ack_by_user_id_and_descriptor(&self, user_id: i32, desc: crate::schema::sanction::Descriptor) -> Result<u64, sea_orm::DbErr> {
crate::schema::sanction::Entity::find()
.filter(crate::schema::sanction::Column::UserId.eq(user_id))
.filter(crate::schema::sanction::Column::Descriptor.eq(desc))
@@ -260,7 +260,7 @@ impl Database {
.await
}
pub async fn sanctions_by_user_id(&self, user_id: u32) -> Result<Vec<crate::schema::sanction::Model>, sea_orm::DbErr> {
pub async fn sanctions_by_user_id(&self, user_id: i32) -> Result<Vec<crate::schema::sanction::Model>, sea_orm::DbErr> {
crate::schema::sanction::Entity::find()
.filter(crate::schema::sanction::Column::UserId.eq(user_id))
.filter(crate::schema::sanction::Column::Acknowledged.is_null())