investment_schema.sql 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. PRAGMA application_id = 1397902921;
  2. PRAGMA user_version = 2;
  3. CREATE TABLE account (
  4. id INTEGER PRIMARY KEY CHECK (id = 1),
  5. soid INTEGER NOT NULL,
  6. profile_setup_completed INTEGER NOT NULL CHECK (profile_setup_completed IN (0, 1))
  7. ) STRICT;
  8. CREATE TABLE characters (
  9. slot INTEGER PRIMARY KEY CHECK (slot BETWEEN 0 AND 2),
  10. soid INTEGER NOT NULL UNIQUE,
  11. race INTEGER NOT NULL CHECK (race BETWEEN 0 AND 2),
  12. gender INTEGER NOT NULL CHECK (gender BETWEEN 0 AND 1),
  13. class INTEGER NOT NULL CHECK (class BETWEEN 0 AND 2),
  14. level INTEGER NOT NULL CHECK (level BETWEEN 0 AND 255),
  15. preview_available INTEGER NOT NULL CHECK (preview_available IN (0, 1)),
  16. appearance_value REAL NOT NULL,
  17. last_orbited_destination INTEGER NOT NULL,
  18. content_bypass INTEGER NOT NULL CHECK (content_bypass IN (0, 1)),
  19. equipped_title INTEGER NOT NULL CHECK (equipped_title BETWEEN 0 AND 65535),
  20. acquired_subclass_mask INTEGER NOT NULL,
  21. next_inventory_serial INTEGER NOT NULL CHECK (next_inventory_serial BETWEEN 0 AND 4294967295)
  22. ) STRICT;
  23. CREATE TABLE items (
  24. character_slot INTEGER NOT NULL REFERENCES characters(slot),
  25. location INTEGER NOT NULL CHECK (location IN (0, 1)),
  26. position INTEGER NOT NULL CHECK (position >= 0),
  27. instance_soid INTEGER NOT NULL UNIQUE,
  28. definition_hash INTEGER NOT NULL CHECK (definition_hash BETWEEN 1 AND 4294967295),
  29. level INTEGER NOT NULL,
  30. quantity INTEGER NOT NULL CHECK (quantity > 0),
  31. mutation_serial INTEGER NOT NULL CHECK (mutation_serial >= 0),
  32. flags INTEGER NOT NULL CHECK (flags BETWEEN 0 AND 7),
  33. socket_policy INTEGER NOT NULL CHECK (socket_policy IN (0, 1)),
  34. plug_count INTEGER NOT NULL CHECK (plug_count BETWEEN 0 AND 12),
  35. movement_ability INTEGER NOT NULL,
  36. grenade_ability INTEGER NOT NULL,
  37. super_ability INTEGER NOT NULL,
  38. melee_ability INTEGER NOT NULL,
  39. class_ability INTEGER NOT NULL,
  40. seen INTEGER NOT NULL CHECK(seen IN(0,1)),
  41. PRIMARY KEY (character_slot, location, position),
  42. CHECK ((location = 0 AND position < 17) OR (location = 1 AND position < 135))
  43. ) STRICT;
  44. CREATE TABLE sockets (
  45. instance_soid INTEGER NOT NULL REFERENCES items(instance_soid) ON DELETE CASCADE,
  46. lane INTEGER NOT NULL CHECK (lane BETWEEN 0 AND 11),
  47. plug_hash INTEGER NOT NULL CHECK (plug_hash BETWEEN 1 AND 4294967295),
  48. PRIMARY KEY (instance_soid, lane)
  49. ) STRICT;
  50. CREATE TABLE profile_items (
  51. position INTEGER PRIMARY KEY CHECK (position BETWEEN 0 AND 700),
  52. instance_soid INTEGER NOT NULL,
  53. definition_hash INTEGER NOT NULL,
  54. quantity INTEGER NOT NULL CHECK (quantity > 0),
  55. mutation_serial INTEGER NOT NULL CHECK (mutation_serial >= 0),
  56. seen INTEGER NOT NULL CHECK(seen IN(0,1))
  57. ) STRICT;
  58. CREATE TABLE character_stacks (
  59. character_slot INTEGER NOT NULL REFERENCES characters(slot),
  60. position INTEGER NOT NULL CHECK (position BETWEEN 0 AND 31),
  61. definition_hash INTEGER NOT NULL,
  62. quantity INTEGER NOT NULL CHECK (quantity > 0),
  63. mutation_serial INTEGER NOT NULL CHECK (mutation_serial >= 0),
  64. PRIMARY KEY (character_slot, position)
  65. ) STRICT;
  66. CREATE TABLE dismantle_rewards (
  67. position INTEGER PRIMARY KEY CHECK (position BETWEEN 0 AND 31),
  68. definition_hash INTEGER NOT NULL,
  69. quantity INTEGER NOT NULL CHECK (quantity > 0),
  70. tier_mask INTEGER NOT NULL,
  71. class_mask INTEGER NOT NULL,
  72. masterwork INTEGER NOT NULL CHECK (masterwork BETWEEN 0 AND 2)
  73. ) STRICT;
  74. CREATE TABLE unlocks (
  75. character_slot INTEGER NOT NULL CHECK (character_slot BETWEEN -1 AND 2),
  76. bank INTEGER NOT NULL CHECK (bank BETWEEN 0 AND 7),
  77. slot INTEGER NOT NULL CHECK (slot >= 0),
  78. lane INTEGER NOT NULL CHECK (lane BETWEEN 0 AND 2),
  79. value INTEGER NOT NULL CHECK (value BETWEEN -2147483648 AND 2147483647),
  80. PRIMARY KEY (character_slot, bank, slot, lane),
  81. CHECK ((bank IN (0, 1, 3, 6) AND character_slot = -1)
  82. OR (bank IN (2, 4, 5, 7) AND character_slot >= 0))
  83. ) STRICT;
  84. CREATE TABLE family5 (
  85. kind INTEGER NOT NULL CHECK (kind IN (0, 1)),
  86. position INTEGER NOT NULL CHECK (position BETWEEN 0 AND 99),
  87. slot INTEGER NOT NULL CHECK (slot BETWEEN 0 AND 65535),
  88. value INTEGER NOT NULL CHECK (value BETWEEN -2147483648 AND 2147483647),
  89. PRIMARY KEY (kind, position),
  90. UNIQUE (kind, slot)
  91. ) STRICT;
  92. CREATE TABLE entitlements (
  93. position INTEGER PRIMARY KEY,
  94. name TEXT NOT NULL,
  95. ownership INTEGER NOT NULL CHECK (ownership BETWEEN 0 AND 2)
  96. ) STRICT;
  97. CREATE TABLE bootstrap (
  98. name TEXT PRIMARY KEY,
  99. completed INTEGER NOT NULL CHECK (completed IN (0, 1))
  100. ) STRICT;
  101. CREATE TABLE pending_rewards (
  102. id INTEGER PRIMARY KEY AUTOINCREMENT,
  103. character_slot INTEGER NOT NULL CHECK (character_slot BETWEEN 0 AND 2),
  104. kind INTEGER NOT NULL CHECK (kind IN (0, 1)),
  105. definition_hash INTEGER NOT NULL CHECK (definition_hash BETWEEN 1 AND 4294967295),
  106. quantity INTEGER NOT NULL CHECK (quantity > 0)
  107. ) STRICT;