mwseaql/
lib.rs

1// SPDX-License-Identifier: GPL-3.0-or-later
2// Copyright (C) 2022 Kunal Mehta <legoktm@debian.org>
3//! MediaWiki SQL definitions for SeaQuery
4//!
5//! The `mwseaql` crate contains [MediaWiki SQL table definitions](https://www.mediawiki.org/wiki/Manual:Database_layout)
6//! for use with [SeaQL's SeaQuery builder](https://docs.rs/sea-query/).
7//!
8//! ## Extensions
9//! The following MediaWiki extension tables are supported:
10//! * [Extension:Linter](https://www.mediawiki.org/wiki/Extension:Linter), under `linter` feature
11//! * [Extension:PageAssessments](https://www.mediawiki.org/wiki/Extension:PageAssessments), under `page_assessments` feature
12//! * [Extension:ProofreadPage](https://www.mediawiki.org/wiki/Extension:ProofreadPage), under `proofread_page` feature
13//!
14//! More extensions can and will be added upon request!
15//!
16//! ## Toolforge
17//! Toolforge has [two special views to optimize queries](https://wikitech.wikimedia.org/wiki/Help:Toolforge/Database#Tables_for_revision_or_logging_queries_involving_user_names_and_IDs), `logging_userindex` and `revision_userindex`.
18//! A definition for the [`meta_p.wiki`](https://wikitech.wikimedia.org/wiki/Help:Toolforge/Database#Metadata_database) table is also provided.
19//! These definitions can be enabled using the `toolforge` feature.
20//!
21//! ## Contributing
22//! `mwseaql` is a part of the [`mwbot-rs` project](https://www.mediawiki.org/wiki/Mwbot-rs).
23//! We're always looking for new contributors, please [reach out](https://www.mediawiki.org/wiki/Mwbot-rs#Contributing)
24//! if you're interested!
25#![deny(clippy::all)]
26#![cfg_attr(docsrs, feature(doc_cfg))]
27
28pub use sea_query;
29
30pub mod core;
31#[cfg(feature = "linter")]
32#[cfg_attr(docsrs, doc(cfg(feature = "linter")))]
33pub mod linter;
34#[cfg(feature = "page_assessments")]
35#[cfg_attr(docsrs, doc(cfg(feature = "page_assessments")))]
36pub mod page_assessments;
37#[cfg(feature = "proofread_page")]
38#[cfg_attr(docsrs, doc(cfg(feature = "proofread_page")))]
39pub mod proofread_page;
40#[cfg(feature = "toolforge")]
41#[cfg_attr(docsrs, doc(cfg(feature = "toolforge")))]
42pub mod toolforge;
43
44pub use crate::core::*;