diff --git a/rust/api/src/kv_store_tests.rs b/rust/api/src/kv_store_tests.rs index b1f998d..3e3ad1d 100644 --- a/rust/api/src/kv_store_tests.rs +++ b/rust/api/src/kv_store_tests.rs @@ -552,8 +552,12 @@ pub struct TestContext<'a> { impl<'a> TestContext<'a> { /// Creates a new [`TestContext`] with the given [`KvStore`] implementation. pub fn new(kv_store: &'a dyn KvStore) -> Self { - let store_id: String = (0..7).map(|_| thread_rng().sample(Alphanumeric) as char).collect(); - TestContext { kv_store, user_token: "userToken".to_string(), store_id } + let store_id_len = thread_rng().gen_range(0..6); + let store_id: String = + (0..store_id_len).map(|_| thread_rng().sample(Alphanumeric) as char).collect(); + let user_token: String = + (0..7).map(|_| thread_rng().sample(Alphanumeric) as char).collect(); + TestContext { kv_store, user_token, store_id } } async fn get_object(&self, key: &str) -> Result { diff --git a/rust/impls/src/migrations.rs b/rust/impls/src/migrations.rs index 02d3f54..a39981b 100644 --- a/rust/impls/src/migrations.rs +++ b/rust/impls/src/migrations.rs @@ -26,7 +26,7 @@ pub(crate) const MIGRATIONS: &[&str] = &[ // We do not complain if the table already exists, as users of VSS could have already created this table "CREATE TABLE IF NOT EXISTS vss_db ( user_token character varying(120) NOT NULL CHECK (user_token <> ''), - store_id character varying(120) NOT NULL CHECK (store_id <> ''), + store_id character varying(120) NOT NULL, key character varying(600) NOT NULL, value bytea NULL, version bigint NOT NULL, @@ -34,6 +34,7 @@ pub(crate) const MIGRATIONS: &[&str] = &[ last_updated_at TIMESTAMP WITH TIME ZONE, PRIMARY KEY (user_token, store_id, key) );", + "ALTER TABLE vss_db DROP CONSTRAINT IF EXISTS vss_db_store_id_check;", ]; #[cfg(test)] pub(crate) const DUMMY_MIGRATION: &str = "SELECT 1 WHERE FALSE;"; diff --git a/rust/impls/src/postgres/sql/v0_create_vss_db.sql b/rust/impls/src/postgres/sql/v0_create_vss_db.sql index 8d91c25..5842dc4 100644 --- a/rust/impls/src/postgres/sql/v0_create_vss_db.sql +++ b/rust/impls/src/postgres/sql/v0_create_vss_db.sql @@ -1,6 +1,6 @@ CREATE TABLE vss_db ( user_token character varying(120) NOT NULL CHECK (user_token <> ''), - store_id character varying(120) NOT NULL CHECK (store_id <> ''), + store_id character varying(120) NOT NULL, key character varying(600) NOT NULL, value bytea NULL, version bigint NOT NULL,