mirror of
https://gitee.com/milvus-io/milvus.git
synced 2024-12-05 05:18:52 +08:00
55 lines
1.8 KiB
Python
55 lines
1.8 KiB
Python
import time
|
|
import datetime
|
|
import random
|
|
import factory
|
|
from factory.alchemy import SQLAlchemyModelFactory
|
|
from faker import Faker
|
|
from faker.providers import BaseProvider
|
|
|
|
from milvus.client.types import MetricType
|
|
from mishards import db
|
|
from mishards.models import Tables, TableFiles
|
|
|
|
|
|
class FakerProvider(BaseProvider):
|
|
def this_date(self):
|
|
t = datetime.datetime.today()
|
|
return (t.year - 1900) * 10000 + (t.month - 1) * 100 + t.day
|
|
|
|
|
|
factory.Faker.add_provider(FakerProvider)
|
|
|
|
|
|
class TablesFactory(SQLAlchemyModelFactory):
|
|
class Meta:
|
|
model = Tables
|
|
sqlalchemy_session = db.session_factory
|
|
sqlalchemy_session_persistence = 'commit'
|
|
|
|
id = factory.Faker('random_number', digits=16, fix_len=True)
|
|
table_id = factory.Faker('uuid4')
|
|
state = factory.Faker('random_element', elements=(0, 1))
|
|
dimension = factory.Faker('random_element', elements=(256, 512))
|
|
created_on = int(time.time())
|
|
index_file_size = 0
|
|
engine_type = factory.Faker('random_element', elements=(0, 1, 2, 3))
|
|
metric_type = factory.Faker('random_element', elements=(MetricType.L2, MetricType.IP))
|
|
nlist = 16384
|
|
|
|
|
|
class TableFilesFactory(SQLAlchemyModelFactory):
|
|
class Meta:
|
|
model = TableFiles
|
|
sqlalchemy_session = db.session_factory
|
|
sqlalchemy_session_persistence = 'commit'
|
|
|
|
id = factory.Faker('random_number', digits=16, fix_len=True)
|
|
table = factory.SubFactory(TablesFactory)
|
|
engine_type = factory.Faker('random_element', elements=(0, 1, 2, 3))
|
|
file_id = factory.Faker('uuid4')
|
|
file_type = factory.Faker('random_element', elements=(0, 1, 2, 3, 4))
|
|
file_size = factory.Faker('random_number')
|
|
updated_time = int(time.time())
|
|
created_on = int(time.time())
|
|
date = factory.Faker('this_date')
|