migrations_v1.sql 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  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. FOREIGN KEY ("table_id") REFERENCES "table" ("table_id"),
  68. FOREIGN KEY ("user_id") REFERENCES "user" ("user_id"),
  69. FOREIGN KEY ("company_id") REFERENCES "company" ("company_id"),
  70. FOREIGN KEY ("status_id") REFERENCES "status" ("status_id")
  71. );
  72. CREATE TABLE "order_item" (
  73. "order_item_id" INTEGER PRIMARY KEY AUTOINCREMENT,
  74. "order_id" INTEGER NOT NULL,
  75. "user_id" INTEGER NOT NULL,
  76. "product_id" INTEGER NOT NULL,
  77. "company_id" INTEGER NOT NULL,
  78. "order_item_flag" TEXT NOT NULL,
  79. "order_item_kitchen_note" TEXT NOT NULL DEFAULT '',
  80. FOREIGN KEY ("order_id") REFERENCES "order" ("order_id"),
  81. FOREIGN KEY ("user_id") REFERENCES "user" ("user_id"),
  82. FOREIGN KEY ("product_id") REFERENCES "product" ("product_id"),
  83. FOREIGN KEY ("company_id") REFERENCES "company" ("company_id")
  84. );
  85. CREATE TABLE "sale" (
  86. "sale_id" INTEGER PRIMARY KEY AUTOINCREMENT,
  87. "company_id" INTEGER NOT NULL,
  88. "order_id" INTEGER NOT NULL,
  89. "product_id" INTEGER NOT NULL,
  90. "sale_total" TEXT NOT NULL,
  91. "sale_created_at" TEXT NOT NULL,
  92. "sale_flag" TEXT NOT NULL,
  93. FOREIGN KEY ("order_id") REFERENCES "order" ("order_id"),
  94. FOREIGN KEY ("product_id") REFERENCES "product" ("product_id"),
  95. FOREIGN KEY ("company_id") REFERENCES "company" ("company_id")
  96. );
  97. CREATE TABLE "fee" (
  98. "fee_id" INTEGER PRIMARY KEY AUTOINCREMENT,
  99. "company_id" INTEGER NOT NULL,
  100. "fee_fixed" TEXT NOT NULL,
  101. "fee_perc" TEXT NOT NULL,
  102. "fee_flag" TEXT NOT NULL,
  103. FOREIGN KEY ("company_id") REFERENCES "company" ("company_id")
  104. );
  105. CREATE TABLE api_key (
  106. "api_key_id" INTEGER PRIMARY KEY AUTOINCREMENT,
  107. "user_id" INTEGER NOT NULL,
  108. "api_key_user" TEXT NOT NULL,
  109. "api_key_secret" TEXT NOT NULL,
  110. FOREIGN KEY ("user_id") REFERENCES "user" ("user_id")
  111. );
  112. CREATE TABLE "description" (
  113. "description_id" INTEGER PRIMARY KEY AUTOINCREMENT,
  114. "company_id" INTEGER NOT NULL,
  115. "description_text" TEXT NOT NULL,
  116. "product_id" INTEGER NOT NULL,
  117. FOREIGN KEY ("company_id") REFERENCES "company" ("company_id")
  118. FOREIGN KEY ("product_id") REFERENCES "product" ("product_id")
  119. );