معرفی شرکت ها


DatabaseDataGenerator-1.7.0


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

Generates any amount of data for supported databases (currently postgresql and sqlite)
ویژگی مقدار
سیستم عامل -
نام فایل DatabaseDataGenerator-1.7.0
نام DatabaseDataGenerator
نسخه کتابخانه 1.7.0
نگهدارنده []
ایمیل نگهدارنده []
نویسنده PhatDave
ایمیل نویسنده kosmodiskclassic0@gmail.com
آدرس صفحه اصلی https://github.com/PhatDave/DatabaseDataGenerator
آدرس اینترنتی https://pypi.org/project/DatabaseDataGenerator/
مجوز -
# DatabaseDataGenerator # https://pypi.org/project/DatabaseDataGenerator ## Generates large amounts of fake data for testing purposes ## Currently only supports postgresql & sqlite3! --- Example of use can be found in main.py Generators can be found in Generators.py The majority of generators are wrappers of [Faker](https://faker.readthedocs.io/en/master/index.html) --- ## Another example ```py from DataGenerator import * from DataGenerator.Generators import * from DataGenerator.Table import * from DataGenerator.Column import * # Currently I don't know how to handle imports any better # Initialize database where insertion replaces rows which already exist (with same pk) db = Databases.PostgreSQLDB(override=True) db.connect(user="demo", password="demo", ip="127.0.0.1", port="5432", dbName="demo") # db = Sqlite3DB(True, False) # db.connect(dbName=r"demo.sqlite3") # Create a table object which will signify the existance of that table in the database # In other words, when queries are generated these are the tables that are inserted to some_table = Table("some_table_name") # INSERT INTO some_table_name VALUES ... # A database can have multiple tables and they will all be added rows simultaneously though this is untested yet db.setTable(some_table) # Adding columns to a table can either be done in batch (like below) or one by one # Columns have a name and a generator, they can also be the primary key (the pk comes into play when override is enabled and rows will be overriden by removing the row by the PK column) some_table.addColumns([ Column("id", SerialGenerator(1), True), Column("some_data", RandomStringGenerator()), ]) # Example of adding one column some_table.addColumn(Column("some_other_data", RandomIntegerGenerator(1e3, 1e6))) # From here calling db.insertRow() will insert a single row, call it multiple times to insert mutliple rows for i in range(100): db.insertRow() # Can also be used to insert 200 rows to some_table db.insertRows(some_table, 200) ``` --- ## **`Database`** **`Database(bool override, bool wipe)`** Wipe will drop every table when `Database.setTable` is called Override will drop replace every item which would conflict generated query (such as id's being overridden), currently deprecated by wipe **`Database.setTable(Table table)`** Sets the table which `Database.insertRow` will affect which is currently deprecated by `Database.insertRows()` **`Database.connect(args) -> None`** Connects to the database, arguments depend on the connection interface, see example above **`Database.wipeTable(Table table) -> None`** Drops all entries in a table, see main.py for example **`Database.insertRows(Table table, int nRows) -> None`** Inserts n rows into table in database, requires configured table before usage **`Database.getPkSet(Table table) -> Set`** Mainly used with `SetGenerator` to satisfy foreign keys to ensure a 1:1 or 1:N relationship, see example below ```py user = Table("user") user.addColumns([ Column("id", SerialGenerator(1), True), ]) shirt = Table("shirt") shirt.addColumns([ Column("id", SerialGenerator(1), True), Column("user_fk", SetGenerator(db.getPkSet(user), True)), ]) ``` ## **`Table`** **`Table(String name)`** The given name must mimic the database's table name and will be used in the query **`Table.fromCsv(String filename)`** Reads the csv and adds as many columns as the csv, such created columns have `SetGenerator`s assigned according to the data in the csv's column --- ## Available generators With example output ```py RandomStringGenerator(length=10, hasLowercase=True, hasUppercase=False, hasDigits=False) # RandomStringGenerator(24, True, True, False) # CgR9MmJqbdIGmhB8tixhqetC # 6QahKKKYKJwIfmhTYksARQK8 # KvG3YT8qU0nIqTngv4FFX8l0 RandomIntegerGenerator(min, max) # RandomIntegerGenerator(1e2, 1e6) # 850992 # 319942 # 568911 SerialGenerator(start=0, step=1) # SerialGenerator() # 0 # 1 # 2 SetGenerator(chSet, destructive=False) # For destructive=True entries are removed from the set as they are picked # SetGenerator({'a', 'b', 12, 43, "testing"}) # 12 # b # a FakeFirstNameGenerator() # FakeFirstNameGenerator() # Kimberly # Kathleen # Ryan FakeLastNameGenerator() # FakeLastNameGenerator() # Horne # Barry # Cantu FakeNameGenerator() # FakeNameGenerator() # Julian Bryant # Jerry King # Debbie Hubbard FakeCityGenerator() # FakeCityGenerator() # West Sarahfurt # Susanside # Robertmouth FakeCountryGenerator() # FakeCountryGenerator() # Bulgaria # American Samoa # France FakeStreetGenerator() # FakeStreetGenerator() # Ferguson Fords # Thomas Summit # Jones Walks FakeEmailGenerator() # FakeEmailGenerator() # david56@example.net # kaufmangrace@example.com # lisaschmidt@example.com FakeIPv4Generator() # FakeIPv4Generator() # 100.239.243.174 # 212.240.225.211 # 22.42.176.240 FakeIPv6Generator() # FakeIPv6Generator() # b2ce:dcd2:83de:657:310a:3279:95f4:91db # 6532:eec7:d615:7bf5:814c:3be9:9a65:606e # be69:81ab:9d91:5896:7413:451c:24ac:a95b FakeMacGenerator() # FakeMacGenerator() # 6f:6c:d4:44:0d:89 # 73:6e:6e:c8:0a:cf # 3e:e6:83:34:43:69 FakeUriGenerator() # FakeUriGenerator() # http://www.smith.org/tag/home/ # https://www.gutierrez-calhoun.org/about.htm # https://www.vincent-jennings.com/list/main/app/home.php FakeUrlGenerator() # FakeUrlGenerator() # http://williams.com/ # https://waters.com/ # https://www.williams.com/ FakeUsernameGenerator() # FakeUsernameGenerator() # prussell # evanmartinez # huntbrandi FakeCreditCardNumberGenerator() # FakeCreditCardNumberGenerator() # 4591224799613 # 4396095491829044 # 3520959742328224 FakeDateGenerator() # FakeDateGenerator() # 1996-05-08 # 1983-04-23 # 1984-06-12 FakeCurrentDecadeDateGenerator() # FakeCurrentDecadeDateGenerator() # 2021-04-12 # 2020-11-02 # 2020-04-11 FakeCurrentMonthDateGenerator() # FakeCurrentMonthDateGenerator() # 2022-01-16 # 2022-01-04 # 2022-01-17 FakeCurrentYearDateGenerator() # FakeCurrentYearDateGenerator() # 2022-01-06 # 2022-01-08 # 2022-01-04 FakeVehicleModelGenerator() # FakeVehicleModelGenerator() # Express 1500 Passenger # Explorer Sport Trac # Santa Fe Sport FakeVehicleMakeGenerator() # FakeVehicleMakeGenerator() # Chevrolet # Ram # Lexus FakeLicensePlateGenerator() # FakeLicensePlateGenerator() # FF1 5232 # XU2 X0Q # PC 66274 PrettyTimeGenerator() # PrettyTimeGenerator(imin, imax) # 9h 55m 8s # 4d 7h 33m 39s # 21d 11h 2m 25s # Note, all the datetime objects the following generators generate are automatically converted to strings for use in the query FakeDateTimeGenerator() # FakeDateTimeGenerator() # 1416-09-27 10:31:54 # 1318-06-06 00:06:24 # 1701-04-08 02:42:37 FakeCurrentDecadeDateTimeGenerator() # FakeCurrentDecadeDateTimeGenerator() # 2020-04-09 15:18:36 # 2021-08-25 21:12:06 # 2021-08-26 18:40:42 FakeCurrentYearDateTimeGenerator() # FakeCurrentYearDateTimeGenerator() # 2022-01-05 18:46:21 # 2022-01-13 13:00:15 # 2022-01-16 00:20:28 FakeCurrentMonthDateTimeGenerator() # FakeCurrentMonthDateTimeGenerator() # 2022-01-19 08:15:51 # 2022-01-12 19:07:15 # 2022-01-03 21:36:32 ```


نیازمندی

مقدار نام
>=11.3.0 Faker
>=2.9.3 psycopg2
>=2.8.2 python-dateutil
>=1.16.0 six
>=1.3 text-unidecode
>=0.2.0 faker-vehicle
>=4.62.3 tqdm


زبان مورد نیاز

مقدار نام
>=3.6 Python


نحوه نصب


نصب پکیج whl DatabaseDataGenerator-1.7.0:

    pip install DatabaseDataGenerator-1.7.0.whl


نصب پکیج tar.gz DatabaseDataGenerator-1.7.0:

    pip install DatabaseDataGenerator-1.7.0.tar.gz