mirror of
https://github.com/mCaptcha/mCaptcha.git
synced 2026-02-11 10:05:41 +00:00
feat: migrate DB migrations to use db_*
This commit is contained in:
@@ -1,8 +0,0 @@
|
|||||||
CREATE TABLE IF NOT EXISTS mcaptcha_users (
|
|
||||||
name VARCHAR(100) NOT NULL UNIQUE,
|
|
||||||
email VARCHAR(100) UNIQUE DEFAULT NULL,
|
|
||||||
email_verified BOOLEAN DEFAULT NULL,
|
|
||||||
secret varchar(50) NOT NULL UNIQUE,
|
|
||||||
password TEXT NOT NULL,
|
|
||||||
ID SERIAL PRIMARY KEY NOT NULL
|
|
||||||
);
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
CREATE TABLE IF NOT EXISTS mcaptcha_config (
|
|
||||||
config_id SERIAL PRIMARY KEY NOT NULL,
|
|
||||||
user_id INTEGER NOT NULL references mcaptcha_users(ID) ON DELETE CASCADE,
|
|
||||||
key varchar(100) NOT NULL UNIQUE,
|
|
||||||
name varchar(100) NOT NULL,
|
|
||||||
duration integer NOT NULL DEFAULT 30
|
|
||||||
);
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
CREATE TABLE IF NOT EXISTS mcaptcha_levels (
|
|
||||||
config_id INTEGER references mcaptcha_config(config_id) ON DELETE CASCADE,
|
|
||||||
difficulty_factor INTEGER NOT NULL,
|
|
||||||
visitor_threshold INTEGER NOT NULL,
|
|
||||||
level_id SERIAL PRIMARY KEY NOT NULL
|
|
||||||
);
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
CREATE TABLE IF NOT EXISTS mcaptcha_pow_fetched_stats (
|
|
||||||
config_id INTEGER references mcaptcha_config(config_id) ON DELETE CASCADE,
|
|
||||||
time timestamptz NOT NULL DEFAULT now()
|
|
||||||
);
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
CREATE TABLE IF NOT EXISTS mcaptcha_pow_solved_stats (
|
|
||||||
config_id INTEGER references mcaptcha_config(config_id) ON DELETE CASCADE,
|
|
||||||
time timestamptz NOT NULL DEFAULT now()
|
|
||||||
);
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
CREATE TABLE IF NOT EXISTS mcaptcha_pow_confirmed_stats (
|
|
||||||
config_id INTEGER references mcaptcha_config(config_id) ON DELETE CASCADE,
|
|
||||||
time timestamptz NOT NULL DEFAULT now()
|
|
||||||
);
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
-- Add migration script here
|
|
||||||
CREATE TABLE IF NOT EXISTS mcaptcha_notifications (
|
|
||||||
id SERIAL PRIMARY KEY NOT NULL,
|
|
||||||
tx INTEGER NOT NULL references mcaptcha_users(ID) ON DELETE CASCADE,
|
|
||||||
rx INTEGER NOT NULL references mcaptcha_users(ID) ON DELETE CASCADE,
|
|
||||||
heading varchar(30) NOT NULL,
|
|
||||||
message varchar(250) NOT NULL,
|
|
||||||
read BOOLEAN DEFAULT NULL,
|
|
||||||
received timestamptz NOT NULL DEFAULT now()
|
|
||||||
);
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
CREATE TABLE IF NOT EXISTS mcaptcha_sitekey_user_provided_avg_traffic (
|
|
||||||
config_id INTEGER PRIMARY KEY UNIQUE NOT NULL references mcaptcha_config(config_id) ON DELETE CASCADE,
|
|
||||||
avg_traffic INTEGER DEFAULT NULL,
|
|
||||||
peak_sustainable_traffic INTEGER DEFAULT NULL,
|
|
||||||
broke_my_site_traffic INTEGER DEFAULT NULL
|
|
||||||
);
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
ALTER TABLE mcaptcha_sitekey_user_provided_avg_traffic
|
|
||||||
ALTER COLUMN avg_traffic SET NOT NULL,
|
|
||||||
ALTER COLUMN peak_sustainable_traffic SET NOT NULL;
|
|
||||||
@@ -192,12 +192,13 @@ impl Data {
|
|||||||
pool_options,
|
pool_options,
|
||||||
url: settings.database.url.clone(),
|
url: settings.database.url.clone(),
|
||||||
});
|
});
|
||||||
let dblib = Box::new(connection_options.connect().await.unwrap());
|
let dblib = connection_options.connect().await.unwrap();
|
||||||
|
dblib.migrate().await.unwrap();
|
||||||
|
|
||||||
let data = Data {
|
let data = Data {
|
||||||
creds,
|
creds,
|
||||||
db,
|
db,
|
||||||
dblib,
|
dblib: Box::new(dblib),
|
||||||
captcha: SystemGroup::new().await,
|
captcha: SystemGroup::new().await,
|
||||||
mailer: Self::get_mailer(),
|
mailer: Self::get_mailer(),
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -111,7 +111,6 @@ async fn main() -> std::io::Result<()> {
|
|||||||
);
|
);
|
||||||
|
|
||||||
let data = Data::new().await;
|
let data = Data::new().await;
|
||||||
sqlx::migrate!("./migrations/").run(&data.db).await.unwrap();
|
|
||||||
let data = actix_web::web::Data::new(data);
|
let data = actix_web::web::Data::new(data);
|
||||||
|
|
||||||
let mut demo_user: Option<DemoUser> = None;
|
let mut demo_user: Option<DemoUser> = None;
|
||||||
|
|||||||
Reference in New Issue
Block a user