Skip to content

Commit 4bf0750

Browse files
committed
add: gino models
1 parent 7f47a12 commit 4bf0750

9 files changed

+70
-0
lines changed

models/__init__.py

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
from gino import Gino
2+
db = Gino()
185 Bytes
Binary file not shown.
818 Bytes
Binary file not shown.
697 Bytes
Binary file not shown.
549 Bytes
Binary file not shown.

models/create_tables.py

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import asyncio
2+
import ssl
3+
from models import db
4+
from models.users import User
5+
from models.crossroads import Crossroad
6+
from models.votes import Vote
7+
8+
9+
ctx = ssl.create_default_context()
10+
ctx.check_hostname = False
11+
ctx.verify_mode = ssl.CERT_NONE
12+
13+
14+
async def main():
15+
await db.set_bind('your_path', ssl=ctx)
16+
await db.gino.create_all()
17+
user = await User.query.gino.first()
18+
crossroad = await Crossroad.query.gino.first()
19+
vote = await Vote.query.gino.first()
20+
21+
print(f'User: {user}')
22+
print(f'Crossroad: {crossroad}')
23+
print(f'Vote: {vote}')
24+
25+
26+
if __name__ == '__main__':
27+
asyncio.run(main())

models/crossroads.py

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
from . import db
2+
3+
4+
class Crossroad(db.Model):
5+
__tablename__= 'crossroads'
6+
7+
crossroad_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
8+
date = db.Column(db.DateTime(timezone=True), nullable=False)
9+
location = db.Column(db.Text, nullable=False)
10+
longitude = db.Column(db.Float, nullable=False)
11+
latitude = db.Column(db.Float, nullable=False)
12+
map = db.Column(db.LargeBinary, nullable = False)
13+
description = db.Column(db.Text, nullable=False)
14+
votes_number = db.Column(db.Integer, nullable=False)
15+
status = db.Column(db.VARCHAR(200), nullable=False)
16+
user_id = db.Column(db.VARCHAR(200), db.ForeignKey('users.user_id'))
17+

models/users.py

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
from . import db
2+
3+
4+
class User(db.Model):
5+
__tablename__= 'users'
6+
7+
user_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
8+
login = db.Column(db.VARCHAR(200), nullable=False)
9+
password = db.Column(db.VARCHAR(200), nullable=False)
10+
name = db.Column(db.VARCHAR(200), nullable=False)
11+
sex = db.Column(db.VARCHAR(15), nullable=False)
12+
city = db.Column(db.VARCHAR(200), nullable=False)
13+
address = db.Column(db.VARCHAR(200), nullable=False)
14+
mobile = db.Column(db.VARCHAR(200), nullable=False)
15+
role = db.Column(db.Text, nullable=False)

models/votes.py

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
from . import db
2+
3+
4+
class Vote(db.Model):
5+
__tablename__= 'votes'
6+
7+
vote_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
8+
user_id = db.Column(db.Integer, db.ForeignKey('users.user_id'))
9+
crossroad_id = db.Column(db.Integer, db.ForeignKey('crossroads.crossroad_id'))

0 commit comments

Comments
 (0)