是否可以从特定编号开始的夹具加载数据库?
Is it possible to have the database ids loaded from a fixture start at a certain number?
我正在为 Java 使用 Play Framework 2.2.1。我想让我的固定装置,为了我的单元测试,让所有 tables 开始他们的 id 计数超过 200。
原因是:Compare non-primitive Long values 127 and 128
谷歌搜索它给出了一堆 "best practice" 文章,其中没有包含此选项。
所以我想知道这是否可能。
编辑:澄清一下,这仅适用于单元测试,不适用于工作环境。单元测试通过固定装置加载。每个测试都可以有不同的夹具,这意味着数据库会在每次测试中被擦除,这意味着在加载夹具时必须对数据库中的每个 table 完成。
Play 框架使用 ebean 作为抽象层。 Play在内存中使用H2数据库进行单元测试
编辑:我最终通过与 H2 的常规连接修复了它。 Ebeean好像不支持这个。
是的(至少对于大多数 dbms)。
此 sql 语句适用于 MySQL:ALTER TABLE <table_name> AUTO_INCREMENT = 200;
这个适用于 H2:ALTER TABLE <table_name> ALTER COLUMN <column_name> RESTART WITH 1
我正在为 Java 使用 Play Framework 2.2.1。我想让我的固定装置,为了我的单元测试,让所有 tables 开始他们的 id 计数超过 200。
原因是:Compare non-primitive Long values 127 and 128
谷歌搜索它给出了一堆 "best practice" 文章,其中没有包含此选项。
所以我想知道这是否可能。
编辑:澄清一下,这仅适用于单元测试,不适用于工作环境。单元测试通过固定装置加载。每个测试都可以有不同的夹具,这意味着数据库会在每次测试中被擦除,这意味着在加载夹具时必须对数据库中的每个 table 完成。
Play 框架使用 ebean 作为抽象层。 Play在内存中使用H2数据库进行单元测试
编辑:我最终通过与 H2 的常规连接修复了它。 Ebeean好像不支持这个。
是的(至少对于大多数 dbms)。
此 sql 语句适用于 MySQL:ALTER TABLE <table_name> AUTO_INCREMENT = 200;
这个适用于 H2:ALTER TABLE <table_name> ALTER COLUMN <column_name> RESTART WITH 1