■ ■ ■ ■ ■ ■
integration-tests/bats/migrate.bats
| skipped 302 lines |
303 | 303 | | [[ "$output" =~ "already migrated" ]] || false |
304 | 304 | | } |
305 | 305 | | |
| 306 | + | @test "migrate: changing primary key ordinals should migrate" { |
| 307 | + | dolt sql -q "create table t (col1 int, col2 int, col3 enum('a', 'b'), primary key (col1, col2, col3))" |
| 308 | + | dolt sql -q "insert into t values (1, 2, 'a'), (2, 3, 'b'), (3, 4, 'a');" |
| 309 | + | dolt commit -Am "initial" |
| 310 | + | |
| 311 | + | dolt sql -q "alter table t drop primary key;" |
| 312 | + | dolt sql -q "alter table t add primary key (col3, col2, col1);" |
| 313 | + | dolt commit -am "change primary key order" |
| 314 | + | |
| 315 | + | dolt sql -q "insert into t values (5, 6, 'b');" |
| 316 | + | dolt commit -am "add new row" |
| 317 | + | |
| 318 | + | dolt migrate |
| 319 | + | run dolt sql -r csv -q "select * from t order by col1 asc;" |
| 320 | + | [ $status -eq 0 ] |
| 321 | + | [[ $output =~ "col1,col2,col3" ]] |
| 322 | + | [[ $output =~ "1,2,a" ]] |
| 323 | + | [[ $output =~ "2,3,b" ]] |
| 324 | + | [[ $output =~ "3,4,a" ]] |
| 325 | + | [[ $output =~ "5,6,b" ]] |
| 326 | + | } |
| 327 | + | |