/db/sql/20111021094427_install_up.sql

http://raihan.googlecode.com/ · SQL · 98 lines · 97 code · 1 blank · 0 comment · 0 complexity · eb46ed5ef4342bbc5d3ca1474adb0342 MD5 · raw file

  1. IF EXISTS(SELECT name FROM sysobjects WHERE name = N'settings' AND xtype='U') DROP TABLE [settings];
  2. CREATE TABLE [settings] (
  3. [id] INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
  4. [settingname] VARCHAR(100),
  5. [settingvalue] VARCHAR(100),
  6. [createdat] DATETIME,
  7. [updatedat] DATETIME,
  8. [deletedat] DATETIME
  9. );
  10. INSERT INTO [settings] ( [SETTINGNAME],[SETTINGVALUE] ) VALUES ( 'installed',0 );
  11. IF EXISTS(SELECT name FROM sysobjects WHERE name = N'companies' AND xtype='U') DROP TABLE [companies];
  12. CREATE TABLE [companies] (
  13. [id] INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
  14. [companyname] VARCHAR(200) NOT NULL,
  15. [address] VARCHAR(1000),
  16. [phone] VARCHAR(50),
  17. [fax] VARCHAR(50),
  18. [createdat] DATETIME,
  19. [updatedat] DATETIME,
  20. [deletedat] DATETIME
  21. );
  22. IF EXISTS(SELECT name FROM sysobjects WHERE name = N'organizations' AND xtype='U') DROP TABLE [organizations];
  23. CREATE TABLE [organizations] (
  24. [id] INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
  25. [organizationname] VARCHAR(255) NOT NULL,
  26. [companyid] INT DEFAULT NULL,
  27. [createdat] DATETIME,
  28. [updatedat] DATETIME,
  29. [deletedat] DATETIME,
  30. CONSTRAINT [FK_organizations_companies] FOREIGN KEY ([companyid]) REFERENCES companies([id])
  31. );
  32. IF EXISTS(SELECT name FROM sysobjects WHERE name = N'grades' AND xtype='U') DROP TABLE [grades];
  33. CREATE TABLE [grades] (
  34. [id] INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
  35. [gradename] VARCHAR(255) NOT NULL,
  36. [companyid] INT DEFAULT NULL,
  37. [createdat] DATETIME,
  38. [updatedat] DATETIME,
  39. [deletedat] DATETIME,
  40. CONSTRAINT [FK_grades_companies] FOREIGN KEY ([companyid]) REFERENCES companies([id])
  41. );
  42. IF EXISTS(SELECT name FROM sysobjects WHERE name = N'users' AND xtype='U') DROP TABLE [users];
  43. CREATE TABLE [users] (
  44. [id] INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
  45. [username] VARCHAR(50) NOT NULL,
  46. [userpassword] VARCHAR(128) NOT NULL,
  47. [isadmin] VARCHAR(1) NOT NULL,
  48. [userstatus] VARCHAR(1) NOT NULL,
  49. [crosscompany] VARCHAR(1) NOT NULL,
  50. [lastlogin] DATETIME,
  51. [createdat] DATETIME,
  52. [updatedat] DATETIME,
  53. [deletedat] DATETIME
  54. );
  55. IF EXISTS(SELECT name FROM sysobjects WHERE name = N'userroles' AND xtype='U') DROP TABLE [userroles];
  56. CREATE TABLE [userroles] (
  57. [id] INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
  58. [userid] INT DEFAULT NULL,
  59. [role] VARCHAR(200) NOT NULL,
  60. [createdat] DATETIME,
  61. [updatedat] DATETIME,
  62. [deletedat] DATETIME,
  63. CONSTRAINT [FK_userroles_users] FOREIGN KEY ([userid]) REFERENCES users([id])
  64. );
  65. IF EXISTS(SELECT name FROM sysobjects WHERE name = N'people' AND xtype='U') DROP TABLE [people];
  66. CREATE TABLE [people] (
  67. [id] INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
  68. [firstname] VARCHAR(50) NOT NULL,
  69. [middlename] VARCHAR(50),
  70. [lastname] VARCHAR(50),
  71. [idcard] VARCHAR(50),
  72. [birthplace] VARCHAR(100),
  73. [birthdate] DATETIME,
  74. [maritalstatus] VARCHAR(20),
  75. [userid] INT DEFAULT NULL,
  76. [createdat] DATETIME,
  77. [updatedat] DATETIME,
  78. [deletedat] DATETIME,
  79. CONSTRAINT [FK_people_users] FOREIGN KEY ([userid]) REFERENCES users([id])
  80. );
  81. IF EXISTS(SELECT name FROM sysobjects WHERE name = N'employees' AND xtype='U') DROP TABLE [employees];
  82. CREATE TABLE [employees] (
  83. [id] INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
  84. [startdate] DATETIME NOT NULL,
  85. [enddate] DATETIME,
  86. [personid] INT DEFAULT NULL,
  87. [companyid] INT DEFAULT NULL,
  88. [organizationid] INT DEFAULT NULL,
  89. [gradeid] INT DEFAULT NULL,
  90. [createdat] DATETIME,
  91. [updatedat] DATETIME,
  92. [deletedat] DATETIME,
  93. CONSTRAINT [FK_employees_people] FOREIGN KEY ([personid]) REFERENCES people([id]),
  94. CONSTRAINT [FK_employees_companies] FOREIGN KEY ([companyid]) REFERENCES companies([id]),
  95. CONSTRAINT [FK_employees_organizations] FOREIGN KEY ([organizationid]) REFERENCES organizations([id]),
  96. CONSTRAINT [FK_employees_grades] FOREIGN KEY ([gradeid]) REFERENCES grades([id])
  97. );