import migrations and don't require diesel_cli for admins
#555
Unito
Plume_migration_agent
ha unito 9 commit da integrated-migrations
a master
5 anni fa
Caricamento…
Fai riferimento in un nuovo problema
Non ci sono ancora contenuti.
Elimina branch 'integrated-migrations'
L'eliminazione di un branch è definitiva. È un'operazione che NON PUÒ essere annullata. Continuare?
this is an attempt at integrating migrations to plm, with the goal to remove need for diesel_cli, and to allow arbitrary rust in migrations (can come handy for many reasons, like need to upgrade tantivy index version due to upstream changes, without need to take special steps for sysadmins)
Codecov Report
Isn't this always true? (maybe not, I'm really bad with Bash)
oops I tested with a value, and forgot to use the variable after 😬
👀
@ -0,0 +48,4 @@
.unwrap()
.chars()
.filter(char::is_ascii_digit)
.take(14)
this seems like a strange thing to
take()
what is this whole expression supposed to do?
@ -0,0 +48,4 @@
.unwrap()
.chars()
.filter(char::is_ascii_digit)
.take(14)
diesel store whether migrations were run by storing a 14 digit code. For
2019-03-06-115158_blog_images
, it is translated to20190306115158
. To do that I get an iterator over the folder name, filter only digits, and take the first 14 ones (if there are more, they are ignored). See here fortake
documentation@ -0,0 +49,4 @@
pub struct ImportedMigrations(&'static [ComplexMigration]);
impl ImportedMigrations {
pub fn run_pending_migrations(&self, conn: &Connection, path: &Path) -> Result<()> {
Should these
dbg!
be here?@ -0,0 +49,4 @@
pub struct ImportedMigrations(&'static [ComplexMigration]);
impl ImportedMigrations {
pub fn run_pending_migrations(&self, conn: &Connection, path: &Path) -> Result<()> {
no :x
At some point the documentation should also be updated to reflect that change
I don't think it would be possible, but creating the PostgreSQL database if it doesn't exist would be perfect.
But it already works fine, so you can merge as it is.
👍
@BaptisteGelez I think it's possible, I'll try to do it (diesel_cli does that from what I saw in it's code)
Edit: apparently it detect a connection error, assume it means the database don't exist, then connect to the same address but without specifying a database, run a query, and then try to reconnect. Considering the first step, this should probably be done in plm, not in plume-models
usually, create db is a more privileged operation than creating anything in that db…
and i sure hope people aren't giving our software that kind of permissions 😅
So, shall I try, or do I assume people have a "secure" configuration that don't allow us to do privileged things?
Let's say people have a secure configuration. 😄
Revisori
49bb8cb0bc
.Passo 1:
Dal repository del tuo progetto, fai il check out di un nuovo branch e verifica le modifiche.Passo 2:
Fai il merge delle modifiche e aggiorna su Forgejo.