|
1 | 1 | /// The current database version |
2 | | -const databaseVersion = 11; |
| 2 | +const databaseVersion = 12; |
3 | 3 |
|
4 | 4 | /// This is the base database state that we expect at various schema versions. |
5 | 5 | /// Generated by loading the specific library version, and exporting the schema. |
@@ -414,6 +414,67 @@ const expectedState = <int, String>{ |
414 | 414 | ;INSERT INTO ps_migration(id, down_migrations) VALUES(9, '[{"sql":"ALTER TABLE ps_buckets DROP COLUMN count_at_last"},{"sql":"ALTER TABLE ps_buckets DROP COLUMN count_since_last"},{"sql":"DELETE FROM ps_migration WHERE id >= 9"}]') |
415 | 415 | ;INSERT INTO ps_migration(id, down_migrations) VALUES(10, '[{"sql":"SELECT powersync_drop_view(view.name)\n FROM sqlite_master view\n WHERE view.type = ''view''\n AND view.sql GLOB ''*-- powersync-auto-generated''"},{"sql":"DELETE FROM ps_migration WHERE id >= 10"}]') |
416 | 416 | ;INSERT INTO ps_migration(id, down_migrations) VALUES(11, '[{"sql":"DROP TABLE ps_stream_subscriptions"},{"sql":"DELETE FROM ps_migration WHERE id >= 11"}]') |
| 417 | +''', |
| 418 | + 12: r''' |
| 419 | +;CREATE TABLE ps_buckets( |
| 420 | + id INTEGER PRIMARY KEY, |
| 421 | + name TEXT NOT NULL, |
| 422 | + last_applied_op INTEGER NOT NULL DEFAULT 0, |
| 423 | + last_op INTEGER NOT NULL DEFAULT 0, |
| 424 | + target_op INTEGER NOT NULL DEFAULT 0, |
| 425 | + add_checksum INTEGER NOT NULL DEFAULT 0, |
| 426 | + op_checksum INTEGER NOT NULL DEFAULT 0, |
| 427 | + pending_delete INTEGER NOT NULL DEFAULT 0 |
| 428 | +, count_at_last INTEGER NOT NULL DEFAULT 0, count_since_last INTEGER NOT NULL DEFAULT 0, downloaded_size INTEGER NOT NULL DEFAULT 0) STRICT |
| 429 | +;CREATE TABLE ps_crud (id INTEGER PRIMARY KEY AUTOINCREMENT, data TEXT, tx_id INTEGER) |
| 430 | +;CREATE TABLE ps_kv(key TEXT PRIMARY KEY NOT NULL, value BLOB) |
| 431 | +;CREATE TABLE ps_migration(id INTEGER PRIMARY KEY, down_migrations TEXT) |
| 432 | +;CREATE TABLE ps_oplog( |
| 433 | + bucket INTEGER NOT NULL, |
| 434 | + op_id INTEGER NOT NULL, |
| 435 | + row_type TEXT, |
| 436 | + row_id TEXT, |
| 437 | + key TEXT, |
| 438 | + data TEXT, |
| 439 | + hash INTEGER NOT NULL) STRICT |
| 440 | +;CREATE TABLE ps_stream_subscriptions ( |
| 441 | + id INTEGER NOT NULL PRIMARY KEY, |
| 442 | + stream_name TEXT NOT NULL, |
| 443 | + active INTEGER NOT NULL DEFAULT FALSE, |
| 444 | + is_default INTEGER NOT NULL DEFAULT FALSE, |
| 445 | + local_priority INTEGER, |
| 446 | + local_params TEXT NOT NULL DEFAULT 'null', |
| 447 | + ttl INTEGER, |
| 448 | + expires_at INTEGER, |
| 449 | + last_synced_at INTEGER, |
| 450 | + UNIQUE (stream_name, local_params) |
| 451 | +) STRICT |
| 452 | +;CREATE TABLE ps_sync_state ( |
| 453 | + priority INTEGER NOT NULL PRIMARY KEY, |
| 454 | + last_synced_at TEXT NOT NULL |
| 455 | +) STRICT |
| 456 | +;CREATE TABLE ps_tx(id INTEGER PRIMARY KEY NOT NULL, current_tx INTEGER, next_tx INTEGER) |
| 457 | +;CREATE TABLE ps_untyped(type TEXT NOT NULL, id TEXT NOT NULL, data TEXT, PRIMARY KEY (type, id)) |
| 458 | +;CREATE TABLE ps_updated_rows( |
| 459 | + row_type TEXT, |
| 460 | + row_id TEXT, |
| 461 | + PRIMARY KEY(row_type, row_id)) STRICT, WITHOUT ROWID |
| 462 | +;CREATE UNIQUE INDEX ps_buckets_name ON ps_buckets (name) |
| 463 | +;CREATE INDEX ps_oplog_key ON ps_oplog (bucket, key) |
| 464 | +;CREATE INDEX ps_oplog_opid ON ps_oplog (bucket, op_id) |
| 465 | +;CREATE INDEX ps_oplog_row ON ps_oplog (row_type, row_id) |
| 466 | +;INSERT INTO ps_migration(id, down_migrations) VALUES(1, null) |
| 467 | +;INSERT INTO ps_migration(id, down_migrations) VALUES(2, '[{"sql":"DELETE FROM ps_migration WHERE id >= 2","params":[]},{"sql":"DROP TABLE ps_tx","params":[]},{"sql":"ALTER TABLE ps_crud DROP COLUMN tx_id","params":[]}]') |
| 468 | +;INSERT INTO ps_migration(id, down_migrations) VALUES(3, '[{"sql":"DELETE FROM ps_migration WHERE id >= 3"},{"sql":"DROP TABLE ps_kv"}]') |
| 469 | +;INSERT INTO ps_migration(id, down_migrations) VALUES(4, '[{"sql":"DELETE FROM ps_migration WHERE id >= 4"},{"sql":"ALTER TABLE ps_buckets DROP COLUMN op_checksum"},{"sql":"ALTER TABLE ps_buckets DROP COLUMN remove_operations"}]') |
| 470 | +;INSERT INTO ps_migration(id, down_migrations) VALUES(5, '[{"sql":"SELECT powersync_drop_view(view.name)\n FROM sqlite_master view\n WHERE view.type = ''view''\n AND view.sql GLOB ''*-- powersync-auto-generated''"},{"sql":"ALTER TABLE ps_buckets RENAME TO ps_buckets_5"},{"sql":"ALTER TABLE ps_oplog RENAME TO ps_oplog_5"},{"sql":"CREATE TABLE ps_buckets(\n name TEXT PRIMARY KEY,\n last_applied_op INTEGER NOT NULL DEFAULT 0,\n last_op INTEGER NOT NULL DEFAULT 0,\n target_op INTEGER NOT NULL DEFAULT 0,\n add_checksum INTEGER NOT NULL DEFAULT 0,\n pending_delete INTEGER NOT NULL DEFAULT 0\n, op_checksum INTEGER NOT NULL DEFAULT 0, remove_operations INTEGER NOT NULL DEFAULT 0)"},{"sql":"INSERT INTO ps_buckets(name, last_applied_op, last_op, target_op, add_checksum, op_checksum, pending_delete)\n SELECT name, last_applied_op, last_op, target_op, add_checksum, op_checksum, pending_delete FROM ps_buckets_5"},{"sql":"CREATE TABLE ps_oplog(\n bucket TEXT NOT NULL,\n op_id INTEGER NOT NULL,\n op INTEGER NOT NULL,\n row_type TEXT,\n row_id TEXT,\n key TEXT,\n data TEXT,\n hash INTEGER NOT NULL,\n superseded INTEGER NOT NULL)"},{"sql":"CREATE INDEX ps_oplog_by_row ON ps_oplog (row_type, row_id) WHERE superseded = 0"},{"sql":"CREATE INDEX ps_oplog_by_opid ON ps_oplog (bucket, op_id)"},{"sql":"CREATE INDEX ps_oplog_by_key ON ps_oplog (bucket, key) WHERE superseded = 0"},{"sql":"INSERT INTO ps_oplog(bucket, op_id, op, row_type, row_id, key, data, hash, superseded)\n SELECT ps_buckets_5.name, oplog.op_id, 3, oplog.row_type, oplog.row_id, oplog.key, oplog.data, oplog.hash, 0\n FROM ps_oplog_5 oplog\n JOIN ps_buckets_5\n ON ps_buckets_5.id = oplog.bucket"},{"sql":"DROP TABLE ps_oplog_5"},{"sql":"DROP TABLE ps_buckets_5"},{"sql":"INSERT INTO ps_oplog(bucket, op_id, op, row_type, row_id, hash, superseded)\n SELECT ''$local'', 1, 4, r.row_type, r.row_id, 0, 0\n FROM ps_updated_rows r"},{"sql":"INSERT OR REPLACE INTO ps_buckets(name, pending_delete, last_op, target_op) VALUES(''$local'', 1, 0, 9223372036854775807)"},{"sql":"DROP TABLE ps_updated_rows"},{"sql":"DELETE FROM ps_migration WHERE id >= 5"}]') |
| 471 | +;INSERT INTO ps_migration(id, down_migrations) VALUES(6, '[{"sql":"DELETE FROM ps_migration WHERE id >= 6"}]') |
| 472 | +;INSERT INTO ps_migration(id, down_migrations) VALUES(7, '[{"sql":"INSERT OR REPLACE INTO ps_kv(key, value) SELECT ''last_synced_at'', last_synced_at FROM ps_sync_state WHERE priority = 2147483647"},{"sql":"DROP TABLE ps_sync_state"},{"sql":"DELETE FROM ps_migration WHERE id >= 7"}]') |
| 473 | +;INSERT INTO ps_migration(id, down_migrations) VALUES(8, '[{"sql":"ALTER TABLE ps_sync_state RENAME TO ps_sync_state_new"},{"sql":"CREATE TABLE ps_sync_state (\n priority INTEGER NOT NULL,\n last_synced_at TEXT NOT NULL\n) STRICT"},{"sql":"INSERT INTO ps_sync_state SELECT * FROM ps_sync_state_new"},{"sql":"DROP TABLE ps_sync_state_new"},{"sql":"DELETE FROM ps_migration WHERE id >= 8"}]') |
| 474 | +;INSERT INTO ps_migration(id, down_migrations) VALUES(9, '[{"sql":"ALTER TABLE ps_buckets DROP COLUMN count_at_last"},{"sql":"ALTER TABLE ps_buckets DROP COLUMN count_since_last"},{"sql":"DELETE FROM ps_migration WHERE id >= 9"}]') |
| 475 | +;INSERT INTO ps_migration(id, down_migrations) VALUES(10, '[{"sql":"SELECT powersync_drop_view(view.name)\n FROM sqlite_master view\n WHERE view.type = ''view''\n AND view.sql GLOB ''*-- powersync-auto-generated''"},{"sql":"DELETE FROM ps_migration WHERE id >= 10"}]') |
| 476 | +;INSERT INTO ps_migration(id, down_migrations) VALUES(11, '[{"sql":"DROP TABLE ps_stream_subscriptions"},{"sql":"DELETE FROM ps_migration WHERE id >= 11"}]') |
| 477 | +;INSERT INTO ps_migration(id, down_migrations) VALUES(12, '[{"sql":"ALTER TABLE ps_buckets DROP COLUMN downloaded_size"},{"sql":"DELETE FROM ps_migration WHERE id >= 12"}]') |
417 | 478 | ''', |
418 | 479 | }; |
419 | 480 |
|
@@ -527,6 +588,17 @@ const data1 = <int, String>{ |
527 | 588 | (2, 3, 'lists', 'l1', '', '{}', 3) |
528 | 589 | ;INSERT INTO ps_updated_rows(row_type, row_id) VALUES |
529 | 590 | ('lists', 'l2') |
| 591 | +''', |
| 592 | + 12: r''' |
| 593 | +;INSERT INTO ps_buckets(id, name, last_applied_op, last_op, target_op, add_checksum, op_checksum, pending_delete, count_at_last, count_since_last, downloaded_size) VALUES |
| 594 | + (1, 'b1', 0, 0, 0, 0, 120, 0, 0, 0, 0), |
| 595 | + (2, 'b2', 0, 0, 0, 1005, 3, 0, 0, 0, 0) |
| 596 | +;INSERT INTO ps_oplog(bucket, op_id, row_type, row_id, key, data, hash) VALUES |
| 597 | + (1, 1, 'todos', 't1', '', '{}', 100), |
| 598 | + (1, 2, 'todos', 't2', '', '{}', 20), |
| 599 | + (2, 3, 'lists', 'l1', '', '{}', 3) |
| 600 | +;INSERT INTO ps_updated_rows(row_type, row_id) VALUES |
| 601 | + ('lists', 'l2') |
530 | 602 | ''' |
531 | 603 | }; |
532 | 604 |
|
@@ -573,6 +645,7 @@ final dataDown1 = <int, String>{ |
573 | 645 | 8: data1[5]!, |
574 | 646 | 9: data1[9]!, |
575 | 647 | 10: data1[9]!, |
| 648 | + 11: data1[10]!, |
576 | 649 | }; |
577 | 650 |
|
578 | 651 | final finalData1 = data1[databaseVersion]!; |
|
0 commit comments