-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathquery_tests.py
72 lines (58 loc) · 2.13 KB
/
query_tests.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
from flaskblog import db
from flaskblog.models import User, Post, Stock
from datetime import timedelta, date, datetime
from sqlalchemy import desc
import pandas as pd
Post.query.delete()
db.session.commit()
# posts = Post.query.order_by(desc(Post.date_posted))
# posts = posts.filter(Post.date_posted > (datetime.now()-timedelta(hours=5))).all()
# posts = Post.query.paginate(per_page=5, page=3)
# for post in posts.items:
# print(post)
def create_table():
from sqlalchemy import create_engine
from sqlalchemy import MetaData
from sqlalchemy import Table
from sqlalchemy import Column
from sqlalchemy import Integer, String
db_uri = 'sqlite:///flaskblog/site.db'
engine = create_engine(db_uri)
meta = MetaData(engine)
t2 = Table('stock', meta,
Column('id', Integer, primary_key=True),
Column('material_type', String(50)),
Column('teeth', db.Float),
Column('quantity', Integer),
Column('units', Integer),
Column('diameter_size', Integer),
Column('dp', Integer),
Column('pitch', Integer),
Column('module_value', String),
Column('storage_location', String),
Column('unique_id', String),
Column('date_posted', db.DateTime, nullable=False,
default=datetime.now)
)
t2.create()
def fill_stock():
Stock.query.delete()
# To test if the user is being added or not
df = pd.read_csv('csvs/stock.csv')
# print(df.head(10).to_string())
df.drop(df.columns[-1], inplace=True, axis=1)
for row in df.values.tolist():
entry = Stock(material_type=row[0],
teeth=row[1],
quantity=row[2],
units=row[3],
diameter_size=row[4],
dp=row[5],
pitch=row[6],
module_value=row[7],
storage_location=row[8],
unique_id=row[-1])
db.session.add(entry)
db.session.commit()
create_table()
fill_stock()