Revision 17935f41
b/policy/django/models.py | ||
---|---|---|
1 |
from django.db import models |
|
2 |
|
|
3 |
class Limits(models.Model): |
|
4 |
lim_id = models.IntegerField(primary_key=True) |
|
5 |
lim_desc = models.CharField(max_length=45) |
|
6 |
|
|
1 | 7 |
class Users(models.Model): |
8 |
user_id = models.IntegerField(primary_key=True) |
|
2 | 9 |
user_name = models.CharField(max_length=255) |
3 | 10 |
user_credit = models.IntegerField() |
4 | 11 |
user_quota = models.IntegerField() |
5 | 12 |
user_created = models.DateField() |
6 | 13 |
limits = models.ManyToManyField(Limits, through='UserLimit') |
7 | 14 |
|
8 |
class Limits(models.Model): |
|
9 |
lim_desc = models.CharField(max_length=45) |
|
10 |
|
|
11 | 15 |
class UserLimit(models.Model): |
12 |
lim_id = models.ForeignKey(Limits) |
|
13 |
user_id = models.ForeignKey(Users) |
|
16 |
lim_id = models.ForeignKey(Limits, primary_key=True)
|
|
17 |
user_id = models.ForeignKey(Users, primary_key=True)
|
|
14 | 18 |
ul_value = models.IntegerField() |
15 | 19 |
|
16 | 20 |
class Flavor(models.Model): |
17 |
flv_desc = models.CharField(max_length=255) |
|
18 |
flv_cost_active = models.IntegerField() |
|
19 |
flv_cost_inactive = models.IntegerField() |
|
20 |
flv_detailed = models.CharField(max_length=1000) |
|
21 |
flv_id = models.IntegerField(primary_key=True) |
|
22 |
flv_desc = models.CharField(max_length=255) |
|
23 |
flv_cost_active = models.IntegerField() |
|
24 |
flv_cost_inactive = models.IntegerField() |
|
25 |
flv_detailed = models.CharField(max_length=1000) |
|
21 | 26 |
|
22 | 27 |
class VMachine(models.Model): |
28 |
vm_id = models.IntegerField(primary_key=True) |
|
23 | 29 |
vm_alias = models.CharField(max_length=255) |
24 | 30 |
vm_created = models.DateTimeField() |
25 | 31 |
vm_state = models.IntegerField() |
... | ... | |
28 | 34 |
flv_id = models.ForeignKey(Flavor) |
29 | 35 |
|
30 | 36 |
class ChargingLog(models.Model): |
37 |
cl_id = models.IntegerField(primary_key=True) |
|
31 | 38 |
vm_id = models.ForeignKey(VMachine) |
32 | 39 |
cl_date = models.DateTimeField() |
33 | 40 |
cl_credit = models.IntegerField() |
b/policy/django/sqlite3.sql | ||
---|---|---|
1 |
BEGIN; |
|
2 |
CREATE TABLE "okeanos_limits" ( |
|
3 |
"lim_id" integer NOT NULL PRIMARY KEY, |
|
4 |
"lim_desc" varchar(45) NOT NULL |
|
5 |
) |
|
6 |
; |
|
7 |
CREATE TABLE "okeanos_users" ( |
|
8 |
"user_id" integer NOT NULL PRIMARY KEY, |
|
9 |
"user_name" varchar(255) NOT NULL, |
|
10 |
"user_credit" integer NOT NULL, |
|
11 |
"user_quota" integer NOT NULL, |
|
12 |
"user_created" date NOT NULL |
|
13 |
) |
|
14 |
; |
|
15 |
CREATE TABLE "okeanos_userlimit" ( |
|
16 |
"lim_id_id" integer NOT NULL PRIMARY KEY REFERENCES "okeanos_limits" ("lim_id"), |
|
17 |
"user_id_id" integer NOT NULL PRIMARY KEY REFERENCES "okeanos_users" ("user_id"), |
|
18 |
"ul_value" integer NOT NULL |
|
19 |
) |
|
20 |
; |
|
21 |
CREATE TABLE "okeanos_flavor" ( |
|
22 |
"flv_id" integer NOT NULL PRIMARY KEY, |
|
23 |
"flv_desc" varchar(255) NOT NULL, |
|
24 |
"flv_cost_active" integer NOT NULL, |
|
25 |
"flv_cost_inactive" integer NOT NULL, |
|
26 |
"flv_detailed" varchar(1000) NOT NULL |
|
27 |
) |
|
28 |
; |
|
29 |
CREATE TABLE "okeanos_vmachine" ( |
|
30 |
"vm_id" integer NOT NULL PRIMARY KEY, |
|
31 |
"vm_alias" varchar(255) NOT NULL, |
|
32 |
"vm_created" datetime NOT NULL, |
|
33 |
"vm_state" integer NOT NULL, |
|
34 |
"vm_started" datetime NOT NULL, |
|
35 |
"user_id_id" integer NOT NULL REFERENCES "okeanos_users" ("user_id"), |
|
36 |
"flv_id_id" integer NOT NULL REFERENCES "okeanos_flavor" ("flv_id") |
|
37 |
) |
|
38 |
; |
|
39 |
CREATE TABLE "okeanos_charginglog" ( |
|
40 |
"cl_id" integer NOT NULL PRIMARY KEY, |
|
41 |
"vm_id_id" integer NOT NULL REFERENCES "okeanos_vmachine" ("vm_id"), |
|
42 |
"cl_date" datetime NOT NULL, |
|
43 |
"cl_credit" integer NOT NULL, |
|
44 |
"cl_message" varchar(1000) NOT NULL |
|
45 |
) |
|
46 |
; |
|
47 |
COMMIT; |
Also available in: Unified diff