migrations_v1.sql 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. CREATE TABLE "company" (
  2. "company_id" INTEGER PRIMARY KEY AUTOINCREMENT,
  3. "company_name" TEXT NOT NULL,
  4. "company_flag" TEXT NOT NULL
  5. );
  6. CREATE TABLE "role" (
  7. "role_id" INTEGER PRIMARY KEY AUTOINCREMENT,
  8. "company_id" INTEGER NOT NULL,
  9. "role_name" TEXT NOT NULL,
  10. "role_permission" TEXT NOT NULL,
  11. "role_flag" TEXT NOT NULL,
  12. FOREIGN KEY ("company_id") REFERENCES "company" ("company_id")
  13. );
  14. CREATE TABLE "status" (
  15. "status_id" INTEGER PRIMARY KEY AUTOINCREMENT,
  16. "status_status" TEXT NOT NULL
  17. );
  18. CREATE TABLE "user" (
  19. "user_id" INTEGER PRIMARY KEY AUTOINCREMENT,
  20. "user_name" TEXT NOT NULL,
  21. "user_email" TEXT NOT NULL UNIQUE,
  22. "user_password" TEXT NOT NULL,
  23. "company_id" INTEGER NOT NULL,
  24. "role_id" INTEGER NOT NULL,
  25. "user_flag" TEXT NOT NULL,
  26. FOREIGN KEY ("company_id") REFERENCES "company" ("company_id"),
  27. FOREIGN KEY ("role_id") REFERENCES "role" ("role_id")
  28. );
  29. CREATE TABLE "table" (
  30. "table_id" INTEGER PRIMARY KEY AUTOINCREMENT,
  31. "company_id" INTEGER NOT NULL,
  32. "table_number" TEXT NOT NULL,
  33. "status_id" INTEGER NOT NULL,
  34. "table_flag" TEXT NOT NULL,
  35. FOREIGN KEY ("status_id") REFERENCES "status" ("status_id"),
  36. FOREIGN KEY ("company_id") REFERENCES "company" ("company_id")
  37. );
  38. CREATE TABLE "category" (
  39. "category_id" INTEGER PRIMARY KEY AUTOINCREMENT,
  40. "company_id" INTEGER NOT NULL,
  41. "category_name" TEXT NOT NULL,
  42. "category_flag" TEXT NOT NULL,
  43. FOREIGN KEY ("company_id") REFERENCES "company" ("company_id")
  44. );
  45. CREATE TABLE "product" (
  46. "product_id" INTEGER PRIMARY KEY AUTOINCREMENT,
  47. "company_id" INTEGER NOT NULL,
  48. "category_id" INTEGER NOT NULL,
  49. "product_is_kitchen" BOOLEAN NOT NULL,
  50. "product_name" TEXT NOT NULL,
  51. "product_price" TEXT NOT NULL,
  52. "product_flag" TEXT NOT NULL,
  53. FOREIGN KEY ("category_id") REFERENCES "category" ("category_id"),
  54. FOREIGN KEY ("company_id") REFERENCES "company" ("company_id")
  55. );
  56. CREATE TABLE "order" (
  57. "order_id" INTEGER PRIMARY KEY AUTOINCREMENT,
  58. "table_id" INTEGER NOT NULL,
  59. "user_id" INTEGER NOT NULL,
  60. "company_id" INTEGER NOT NULL,
  61. "order_name" TEXT NOT NULL,
  62. "order_phone" TEXT NOT NULL,
  63. "status_id" INTEGER NOT NULL,
  64. "order_created_at" TEXT NOT NULL,
  65. "order_finished_at" TEXT NOT NULL,
  66. "order_flag" TEXT NOT NULL,
  67. "kitchen_note" TEXT NOT NULL DEFAULT '',
  68. FOREIGN KEY ("table_id") REFERENCES "table" ("table_id"),
  69. FOREIGN KEY ("user_id") REFERENCES "user" ("user_id"),
  70. FOREIGN KEY ("company_id") REFERENCES "company" ("company_id"),
  71. FOREIGN KEY ("status_id") REFERENCES "status" ("status_id")
  72. );
  73. CREATE TABLE "order_item" (
  74. "order_item_id" INTEGER PRIMARY KEY AUTOINCREMENT,
  75. "order_id" INTEGER NOT NULL,
  76. "product_id" INTEGER NOT NULL,
  77. "company_id" INTEGER NOT NULL,
  78. FOREIGN KEY ("order_id") REFERENCES "order" ("order_id"),
  79. FOREIGN KEY ("product_id") REFERENCES "product" ("product_id"),
  80. FOREIGN KEY ("company_id") REFERENCES "company" ("company_id")
  81. );
  82. CREATE TABLE "sale" (
  83. "sale_id" INTEGER PRIMARY KEY AUTOINCREMENT,
  84. "company_id" INTEGER NOT NULL,
  85. "order_id" INTEGER NOT NULL,
  86. "product_id" INTEGER NOT NULL,
  87. "sale_total" TEXT NOT NULL,
  88. "sale_created_at" TEXT NOT NULL,
  89. "sale_flag" TEXT NOT NULL,
  90. FOREIGN KEY ("order_id") REFERENCES "order" ("order_id"),
  91. FOREIGN KEY ("product_id") REFERENCES "product" ("product_id"),
  92. FOREIGN KEY ("company_id") REFERENCES "company" ("company_id")
  93. );
  94. CREATE TABLE "fee" (
  95. "fee_id" INTEGER PRIMARY KEY AUTOINCREMENT,
  96. "company_id" INTEGER NOT NULL,
  97. "fee_fixed" TEXT NOT NULL,
  98. "fee_perc" TEXT NOT NULL,
  99. "fee_flag" TEXT NOT NULL,
  100. FOREIGN KEY ("company_id") REFERENCES "company" ("company_id")
  101. );
  102. CREATE TABLE api_key (
  103. api_key_id INTEGER PRIMARY KEY AUTOINCREMENT,
  104. user_id INTEGER NOT NULL,
  105. api_key_user TEXT NOT NULL,
  106. api_key_secret TEXT NOT NULL,
  107. FOREIGN KEY (user_id) REFERENCES user(user_id)
  108. );
  109. CREATE TABLE "description" (
  110. "description_id" INTEGER PRIMARY KEY AUTOINCREMENT,
  111. "company_id" INTEGER NOT NULL,
  112. "description_text" TEXT NOT NULL,
  113. "product_id" INTEGER NOT NULL,
  114. FOREIGN KEY ("company_id") REFERENCES "company" ("company_id")
  115. FOREIGN KEY ("product_id") REFERENCES "product" ("product_id")
  116. );