edgedb / edgedb-cli

The EdgeDB CLI
https://www.edgedb.com/docs/cli/index
Apache License 2.0
164 stars 23 forks source link

No prompt for backfill, double `RESET EXPRESSION` when changing from computed to hard required link #1322

Open jackfischer opened 1 month ago

jackfischer commented 1 month ago

Steps to Reproduce:

Make the following change from computed to hard link. CLI doesn't prompt for a backfill expression for the link like it would when introducing a normal required - of course migration then fails if you have any data.

module default {

    type A {}

    type B {
        someA: A;
        # required link a := assert_exists(.someA);
        required link a: A;
    }

}
$ edgedb migration create
did you alter link 'a' of object type 'default::B'? [y,n,l,c,b,s,q,?]
> l
The following DDL statements will be applied:
    ALTER TYPE default::B {
        ALTER LINK a {
            RESET EXPRESSION;
            RESET EXPRESSION;
            RESET CARDINALITY;
            SET TYPE default::A;
        };
    };
did you alter link 'a' of object type 'default::B'? [y,n,l,c,b,s,q,?]
> y
Created /Users/jack/dev/edgedbmay8/dbschema/migrations/00002-m1ybov2.edgeql, id: m1ybov226ukysh5hqbmjqjh47mtrpdnim7kkfpufplq5f6qv7tzziq
jackfischer commented 1 month ago

Little weird that it does RESET EXPRESSION; twice but that probably doesn't matter.

raddevon commented 1 month ago

Hey, @quinchs. Does this need to be here in edgedb-cli, or does it need to transfer to edgedb?